<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  Distribution.Simple.Build</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  Isaac Jones 2003-2005,</span><span>
</span><span id="line-8"></span><span class="hs-comment">--                Ross Paterson 2006,</span><span>
</span><span id="line-9"></span><span class="hs-comment">--                Duncan Coutts 2007-2008, 2012</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- License     :  BSD3</span><span>
</span><span id="line-11"></span><span class="hs-comment">--</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Maintainer  :  cabal-devel@haskell.org</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-14"></span><span class="hs-comment">--</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- This is the entry point to actually building the modules in a package. It</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- doesn't actually do much itself, most of the work is delegated to</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- compiler-specific actions. It does do some non-compiler specific bits like</span><span>
</span><span id="line-18"></span><span class="hs-comment">-- running pre-processors.</span><span>
</span><span id="line-19"></span><span class="hs-comment">--</span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.Build</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-22"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#build"><span class="hs-identifier">build</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Build.html#showBuildInfo"><span class="hs-identifier">showBuildInfo</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Build.html#repl"><span class="hs-identifier">repl</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-23"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#startInterpreter"><span class="hs-identifier">startInterpreter</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-24"></span><span>
</span><span id="line-25"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#initialBuildSteps"><span class="hs-identifier">initialBuildSteps</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-26"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#createInternalPackageDB"><span class="hs-identifier">createInternalPackageDB</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier">componentInitialBuildSteps</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.html#writeAutogenFiles"><span class="hs-identifier">writeAutogenFiles</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Utils.Generic.html"><span class="hs-identifier">Distribution.Utils.Generic</span></a></span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html"><span class="hs-identifier">Distribution.Types.ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentRequestedSpec.html"><span class="hs-identifier">Distribution.Types.ComponentRequestedSpec</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.Dependency.html"><span class="hs-identifier">Distribution.Types.Dependency</span></a></span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ExecutableScope.html"><span class="hs-identifier">Distribution.Types.ExecutableScope</span></a></span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ForeignLib.html"><span class="hs-identifier">Distribution.Types.ForeignLib</span></a></span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.LibraryVisibility.html"><span class="hs-identifier">Distribution.Types.LibraryVisibility</span></a></span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Types.LocalBuildInfo</span></a></span><span>
</span><span id="line-42"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.MungedPackageId.html"><span class="hs-identifier">Distribution.Types.MungedPackageId</span></a></span><span>
</span><span id="line-43"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.MungedPackageName.html"><span class="hs-identifier">Distribution.Types.MungedPackageName</span></a></span><span>
</span><span id="line-44"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ModuleRenaming.html"><span class="hs-identifier">Distribution.Types.ModuleRenaming</span></a></span><span>
</span><span id="line-45"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.TargetInfo.html"><span class="hs-identifier">Distribution.Types.TargetInfo</span></a></span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.html"><span class="hs-identifier">Distribution.Backpack</span></a></span><span>
</span><span id="line-49"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.DescribeUnitId.html"><span class="hs-identifier">Distribution.Backpack.DescribeUnitId</span></a></span><span>
</span><span id="line-50"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.GHC.html"><span class="hs-identifier">Distribution.Simple.GHC</span></a></span><span>   </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">GHC</span></span><span>
</span><span id="line-51"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.GHCJS.html"><span class="hs-identifier">Distribution.Simple.GHCJS</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">GHCJS</span></span><span>
</span><span id="line-52"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.UHC.html"><span class="hs-identifier">Distribution.Simple.UHC</span></a></span><span>   </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">UHC</span></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.HaskellSuite.html"><span class="hs-identifier">Distribution.Simple.HaskellSuite</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">HaskellSuite</span></span><span>
</span><span id="line-54"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.PackageIndex.html"><span class="hs-identifier">Distribution.Simple.PackageIndex</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Index</span></span><span>
</span><span id="line-55"></span><span>
</span><span id="line-56"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Build.Macros.html"><span class="hs-identifier">Distribution.Simple.Build.Macros</span></a></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Build.Macros.html#generateCabalMacrosHeader"><span class="hs-identifier">generateCabalMacrosHeader</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-57"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html"><span class="hs-identifier">Distribution.Simple.Build.PathsModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#generatePathsModule"><span class="hs-identifier">generatePathsModule</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-58"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.HcPkg.html"><span class="hs-identifier">Distribution.Simple.Program.HcPkg</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">HcPkg</span></span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-61"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-62"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.InstalledPackageInfo.html"><span class="hs-identifier">Distribution.InstalledPackageInfo</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">IPI</span></span><span>
</span><span id="line-63"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.InstalledPackageInfo.html"><span class="hs-identifier">Distribution.InstalledPackageInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.InstalledPackageInfo.html#InstalledPackageInfo"><span class="hs-identifier">InstalledPackageInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-64"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html"><span class="hs-identifier">Distribution.ModuleName</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">ModuleName</span></span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html"><span class="hs-identifier">Distribution.Simple.Setup</span></a></span><span>
</span><span id="line-67"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildTarget.html"><span class="hs-identifier">Distribution.Simple.BuildTarget</span></a></span><span>
</span><span id="line-68"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildToolDepends.html"><span class="hs-identifier">Distribution.Simple.BuildToolDepends</span></a></span><span>
</span><span id="line-69"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.PreProcess.html"><span class="hs-identifier">Distribution.Simple.PreProcess</span></a></span><span>
</span><span id="line-70"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Simple.LocalBuildInfo</span></a></span><span>
</span><span id="line-71"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Types.html"><span class="hs-identifier">Distribution.Simple.Program.Types</span></a></span><span>
</span><span id="line-72"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Db.html"><span class="hs-identifier">Distribution.Simple.Program.Db</span></a></span><span>
</span><span id="line-73"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.ShowBuildInfo.html"><span class="hs-identifier">Distribution.Simple.ShowBuildInfo</span></a></span><span>
</span><span id="line-74"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildPaths.html"><span class="hs-identifier">Distribution.Simple.BuildPaths</span></a></span><span>
</span><span id="line-75"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Configure.html"><span class="hs-identifier">Distribution.Simple.Configure</span></a></span><span>
</span><span id="line-76"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Register.html"><span class="hs-identifier">Distribution.Simple.Register</span></a></span><span>
</span><span id="line-77"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Test.LibV09.html"><span class="hs-identifier">Distribution.Simple.Test.LibV09</span></a></span><span>
</span><span id="line-78"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span>
</span><span id="line-79"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.Json.html"><span class="hs-identifier">Distribution.Simple.Utils.Json</span></a></span><span>
</span><span id="line-80"></span><span>
</span><span id="line-81"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.System.html"><span class="hs-identifier">Distribution.System</span></a></span><span>
</span><span id="line-82"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-83"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html"><span class="hs-identifier">Distribution.Verbosity</span></a></span><span>
</span><span id="line-84"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Version.html"><span class="hs-identifier">Distribution.Version</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.VersionRange.Internal.html#thisVersion"><span class="hs-identifier">thisVersion</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-85"></span><span>
</span><span id="line-86"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Graph.html"><span class="hs-identifier">Distribution.Compat.Graph</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Compat.Graph.html#IsNode"><span class="hs-identifier">IsNode</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Control.Monad.html#"><span class="hs-identifier">Control.Monad</span></a></span><span>
</span><span id="line-89"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.html#"><span class="hs-identifier">Data.Set</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Set</span></span><span>
</span><span id="line-90"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.html#"><span class="hs-identifier">System.FilePath</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator">(&lt;/&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator">(&lt;.&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier">takeDirectory</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-91"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#"><span class="hs-identifier">System.Directory</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#getCurrentDirectory"><span class="hs-identifier">getCurrentDirectory</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-92"></span><span>
</span><span id="line-93"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-94"></span><span class="hs-comment">-- |Build the libraries and executables in this package.</span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span class="annot"><a href="Distribution.Simple.Build.html#build"><span class="hs-identifier hs-type">build</span></a></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>  </span><span class="hs-comment">-- ^ Mostly information from the .cabal file</span><span>
</span><span id="line-97"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>      </span><span class="hs-comment">-- ^ Configuration information</span><span>
</span><span id="line-98"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#BuildFlags"><span class="hs-identifier hs-type">BuildFlags</span></a></span><span>          </span><span class="hs-comment">-- ^ Flags that the user passed to build</span><span>
</span><span id="line-99"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span> </span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ preprocessors to run before compiling</span><span>
</span><span id="line-100"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-101"></span><span id="build"><span class="annot"><span class="annottext">build :: PackageDescription
-&gt; LocalBuildInfo -&gt; BuildFlags -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.Build.html#build"><span class="hs-identifier hs-var hs-var">build</span></a></span></span><span> </span><span id="local-6989586621679730154"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679730153"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679730152"><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730152"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span id="local-6989586621679730151"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730151"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-102"></span><span>  </span><span id="local-6989586621679730150"><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730150"><span class="hs-identifier hs-var">targets</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [String]
-&gt; IO [TargetInfo]
</span><a href="Distribution.Simple.BuildTarget.html#readTargetInfos"><span class="hs-identifier hs-var">readTargetInfos</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; [String]
</span><a href="Distribution.Simple.Setup.html#buildArgs"><span class="hs-identifier hs-var hs-var">buildArgs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730152"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-103"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730144"><span class="annot"><span class="annottext">componentsToBuild :: [TargetInfo]
</span><a href="#local-6989586621679730144"><span class="hs-identifier hs-var hs-var">componentsToBuild</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; LocalBuildInfo -&gt; [UnitId] -&gt; [TargetInfo]
</span><a href="Distribution.Types.LocalBuildInfo.html#neededTargetsInBuildOrder%27"><span class="hs-identifier hs-var">neededTargetsInBuildOrder'</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TargetInfo -&gt; UnitId) -&gt; [TargetInfo] -&gt; [UnitId]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; UnitId
forall a. IsNode a =&gt; a -&gt; Key a
</span><a href="Distribution.Compat.Graph.html#nodeKey"><span class="hs-identifier hs-var">nodeKey</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730150"><span class="hs-identifier hs-var">targets</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-104"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#info"><span class="hs-identifier hs-var">info</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Component build order: &quot;</span></span><span>
</span><span id="line-105"></span><span>                </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; String
forall a. [a] -&gt; [[a]] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#intercalate"><span class="hs-identifier hs-var">intercalate</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span>
</span><span id="line-106"></span><span>                    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TargetInfo -&gt; String) -&gt; [TargetInfo] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentName -&gt; String
</span><a href="Distribution.Types.ComponentName.html#showComponentName"><span class="hs-identifier hs-var">showComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">(ComponentName -&gt; String)
-&gt; (TargetInfo -&gt; ComponentName) -&gt; TargetInfo -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">(ComponentLocalBuildInfo -&gt; ComponentName)
-&gt; (TargetInfo -&gt; ComponentLocalBuildInfo)
-&gt; TargetInfo
-&gt; ComponentName
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-107"></span><span>                        </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730144"><span class="hs-identifier hs-var">componentsToBuild</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[TargetInfo] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730150"><span class="hs-identifier hs-var">targets</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-110"></span><span>    </span><span class="hs-comment">-- Only bother with this message if we're building the whole package</span><span>
</span><span id="line-111"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; PackageIdentifier -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#setupMessage"><span class="hs-identifier hs-var">setupMessage</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-112"></span><span>
</span><span id="line-113"></span><span>  </span><span id="local-6989586621679730131"><span class="annot"><span class="annottext">PackageDB
</span><a href="#local-6989586621679730131"><span class="hs-identifier hs-var">internalPackageDB</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; LocalBuildInfo -&gt; String -&gt; IO PackageDB
</span><a href="Distribution.Simple.Build.html#createInternalPackageDB"><span class="hs-identifier hs-var">createInternalPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730130"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-114"></span><span>
</span><span id="line-115"></span><span>  </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679730129"><span class="annot"><span class="annottext">InstalledPackageIndex -&gt; TargetInfo -&gt; IO InstalledPackageIndex
</span><a href="#local-6989586621679730129"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(InstalledPackageIndex -&gt; TargetInfo -&gt; IO InstalledPackageIndex)
-&gt; InstalledPackageIndex -&gt; [TargetInfo] -&gt; IO ()
forall (t :: * -&gt; *) (m :: * -&gt; *) b a.
(Foldable t, Monad m) =&gt;
(b -&gt; a -&gt; m b) -&gt; b -&gt; t a -&gt; m ()
</span><a href="../../base/src/Control.Monad.html#foldM_"><span class="hs-identifier hs-var">foldM_</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageIndex -&gt; TargetInfo -&gt; IO InstalledPackageIndex
</span><a href="#local-6989586621679730129"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; InstalledPackageIndex
</span><a href="Distribution.Types.LocalBuildInfo.html#installedPkgs"><span class="hs-identifier hs-var hs-var">installedPkgs</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730144"><span class="hs-identifier hs-var">componentsToBuild</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((InstalledPackageIndex -&gt; TargetInfo -&gt; IO InstalledPackageIndex)
 -&gt; IO ())
-&gt; (InstalledPackageIndex
    -&gt; TargetInfo -&gt; IO InstalledPackageIndex)
-&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679730126"><span class="annot"><span class="annottext">InstalledPackageIndex
</span><a href="#local-6989586621679730126"><span class="hs-identifier hs-var">index</span></a></span></span><span> </span><span id="local-6989586621679730125"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730125"><span class="hs-identifier hs-var">target</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-116"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730124"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679730124"><span class="hs-identifier hs-var hs-var">comp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; Component
</span><a href="Distribution.Types.TargetInfo.html#targetComponent"><span class="hs-identifier hs-var hs-var">targetComponent</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730125"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-117"></span><span>        </span><span id="local-6989586621679730122"><span class="annot"><span class="annottext">clbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679730122"><span class="hs-identifier hs-var hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730125"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-118"></span><span>    </span><span class="annot"><span class="annottext">String
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Verbosity
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-var">componentInitialBuildSteps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730130"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730122"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-119"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730121"><span class="annot"><span class="annottext">bi :: BuildInfo
</span><a href="#local-6989586621679730121"><span class="hs-identifier hs-var hs-var">bi</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Component -&gt; BuildInfo
</span><a href="Distribution.Types.Component.html#componentBuildInfo"><span class="hs-identifier hs-var">componentBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730124"><span class="hs-identifier hs-var">comp</span></a></span><span>
</span><span id="line-120"></span><span>        </span><span id="local-6989586621679730119"><span class="annot"><span class="annottext">progs' :: ProgramDb
</span><a href="#local-6989586621679730119"><span class="hs-identifier hs-var hs-var">progs'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; BuildInfo -&gt; ProgramDb -&gt; ProgramDb
</span><a href="Distribution.Simple.Build.html#addInternalBuildTools"><span class="hs-identifier hs-var">addInternalBuildTools</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679730121"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var hs-var">withPrograms</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-121"></span><span>        </span><span id="local-6989586621679730116"><span class="annot"><span class="annottext">lbi' :: LocalBuildInfo
</span><a href="#local-6989586621679730116"><span class="hs-identifier hs-var hs-var">lbi'</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-122"></span><span>                   </span><span class="annot"><span class="annottext">withPrograms :: ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var">withPrograms</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679730119"><span class="hs-identifier hs-var">progs'</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-123"></span><span>                   </span><span class="annot"><span class="annottext">withPackageDB :: PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var">withPackageDB</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var hs-var">withPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730153"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack -&gt; PackageDBStack -&gt; PackageDBStack
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">PackageDB
</span><a href="#local-6989586621679730131"><span class="hs-identifier hs-var">internalPackageDB</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-124"></span><span>                   </span><span class="annot"><span class="annottext">installedPkgs :: InstalledPackageIndex
</span><a href="Distribution.Types.LocalBuildInfo.html#installedPkgs"><span class="hs-identifier hs-var">installedPkgs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageIndex
</span><a href="#local-6989586621679730126"><span class="hs-identifier hs-var">index</span></a></span><span>
</span><span id="line-125"></span><span>                 </span><span class="hs-special">}</span><span>
</span><span id="line-126"></span><span>    </span><span id="local-6989586621679730114"><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
</span><a href="#local-6989586621679730114"><span class="hs-identifier hs-var">mb_ipi</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [PPSuffixHandler]
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; String
-&gt; IO (Maybe InstalledPackageInfo)
</span><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; Flag (Maybe Int)
</span><a href="Distribution.Simple.Setup.html#buildNumJobs"><span class="hs-identifier hs-var hs-var">buildNumJobs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730152"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730154"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-127"></span><span>                   </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730116"><span class="hs-identifier hs-var">lbi'</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730151"><span class="hs-identifier hs-var">suffixes</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730124"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730122"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730130"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-128"></span><span>    </span><span class="annot"><span class="annottext">InstalledPackageIndex -&gt; IO InstalledPackageIndex
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageIndex
-&gt; (InstalledPackageInfo -&gt; InstalledPackageIndex)
-&gt; Maybe InstalledPackageInfo
-&gt; InstalledPackageIndex
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageIndex
</span><a href="#local-6989586621679730126"><span class="hs-identifier hs-var">index</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo
-&gt; InstalledPackageIndex -&gt; InstalledPackageIndex
</span><a href="Distribution.Simple.PackageIndex.html#insert"><span class="hs-identifier hs-var">Index.insert</span></a></span><span> </span><span class="annot"><span class="annottext">(InstalledPackageInfo
 -&gt; InstalledPackageIndex -&gt; InstalledPackageIndex)
-&gt; InstalledPackageIndex
-&gt; InstalledPackageInfo
-&gt; InstalledPackageIndex
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-operator hs-var">`flip`</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageIndex
</span><a href="#local-6989586621679730126"><span class="hs-identifier hs-var">index</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
</span><a href="#local-6989586621679730114"><span class="hs-identifier hs-var">mb_ipi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-129"></span><span>  </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-130"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-131"></span><span>  </span><span id="local-6989586621679730130"><span class="annot"><span class="annottext">distPref :: String
</span><a href="#local-6989586621679730130"><span class="hs-identifier hs-var hs-var">distPref</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag String -&gt; String
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#buildDistPref"><span class="hs-identifier hs-var hs-var">buildDistPref</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730152"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-132"></span><span>  </span><span id="local-6989586621679730148"><span class="annot"><span class="annottext">verbosity :: Verbosity
</span><a href="#local-6989586621679730148"><span class="hs-identifier hs-var hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Verbosity
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Setup.html#buildVerbosity"><span class="hs-identifier hs-var hs-var">buildVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730152"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-133"></span><span>
</span><span id="line-134"></span><span>
</span><span id="line-135"></span><span class="annot"><a href="Distribution.Simple.Build.html#showBuildInfo"><span class="hs-identifier hs-type">showBuildInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>  </span><span class="hs-comment">-- ^ Mostly information from the .cabal file</span><span>
</span><span id="line-136"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>      </span><span class="hs-comment">-- ^ Configuration information</span><span>
</span><span id="line-137"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#BuildFlags"><span class="hs-identifier hs-type">BuildFlags</span></a></span><span>          </span><span class="hs-comment">-- ^ Flags that the user passed to build</span><span>
</span><span id="line-138"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-139"></span><span id="showBuildInfo"><span class="annot"><span class="annottext">showBuildInfo :: PackageDescription -&gt; LocalBuildInfo -&gt; BuildFlags -&gt; IO String
</span><a href="Distribution.Simple.Build.html#showBuildInfo"><span class="hs-identifier hs-var hs-var">showBuildInfo</span></a></span></span><span> </span><span id="local-6989586621679730101"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730101"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679730100"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730100"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679730099"><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730099"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-140"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730096"><span class="annot"><span class="annottext">verbosity :: Verbosity
</span><a href="#local-6989586621679730096"><span class="hs-identifier hs-var hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Verbosity
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Setup.html#buildVerbosity"><span class="hs-identifier hs-var hs-var">buildVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730099"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-141"></span><span>  </span><span id="local-6989586621679730095"><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730095"><span class="hs-identifier hs-var">targets</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [String]
-&gt; IO [TargetInfo]
</span><a href="Distribution.Simple.BuildTarget.html#readTargetInfos"><span class="hs-identifier hs-var">readTargetInfos</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730096"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730101"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730100"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildFlags -&gt; [String]
</span><a href="Distribution.Simple.Setup.html#buildArgs"><span class="hs-identifier hs-var hs-var">buildArgs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730099"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-142"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730093"><span class="annot"><span class="annottext">targetsToBuild :: [TargetInfo]
</span><a href="#local-6989586621679730093"><span class="hs-identifier hs-var hs-var">targetsToBuild</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; LocalBuildInfo -&gt; [UnitId] -&gt; [TargetInfo]
</span><a href="Distribution.Types.LocalBuildInfo.html#neededTargetsInBuildOrder%27"><span class="hs-identifier hs-var">neededTargetsInBuildOrder'</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730101"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730100"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TargetInfo -&gt; UnitId) -&gt; [TargetInfo] -&gt; [UnitId]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; UnitId
forall a. IsNode a =&gt; a -&gt; Key a
</span><a href="Distribution.Compat.Graph.html#nodeKey"><span class="hs-identifier hs-var">nodeKey</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730095"><span class="hs-identifier hs-var">targets</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-143"></span><span>      </span><span id="local-6989586621679730092"><span class="annot"><span class="annottext">doc :: Json
</span><a href="#local-6989586621679730092"><span class="hs-identifier hs-var hs-var">doc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; BuildFlags -&gt; [TargetInfo] -&gt; Json
</span><a href="Distribution.Simple.ShowBuildInfo.html#mkBuildInfo"><span class="hs-identifier hs-var">mkBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730101"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730100"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">BuildFlags
</span><a href="#local-6989586621679730099"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730093"><span class="hs-identifier hs-var">targetsToBuild</span></a></span><span>
</span><span id="line-144"></span><span>  </span><span class="annot"><span class="annottext">String -&gt; IO String
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO String) -&gt; String -&gt; IO String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Json -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.Json.html#renderJson"><span class="hs-identifier hs-var">renderJson</span></a></span><span> </span><span class="annot"><span class="annottext">Json
</span><a href="#local-6989586621679730092"><span class="hs-identifier hs-var">doc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span>
</span><span id="line-147"></span><span class="annot"><a href="Distribution.Simple.Build.html#repl"><span class="hs-identifier hs-type">repl</span></a></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>  </span><span class="hs-comment">-- ^ Mostly information from the .cabal file</span><span>
</span><span id="line-148"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>      </span><span class="hs-comment">-- ^ Configuration information</span><span>
</span><span id="line-149"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#ReplFlags"><span class="hs-identifier hs-type">ReplFlags</span></a></span><span>           </span><span class="hs-comment">-- ^ Flags that the user passed to build</span><span>
</span><span id="line-150"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span> </span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ preprocessors to run before compiling</span><span>
</span><span id="line-151"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-152"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-153"></span><span id="repl"><span class="annot"><span class="annottext">repl :: PackageDescription
-&gt; LocalBuildInfo
-&gt; ReplFlags
-&gt; [PPSuffixHandler]
-&gt; [String]
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#repl"><span class="hs-identifier hs-var hs-var">repl</span></a></span></span><span> </span><span id="local-6989586621679730089"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679730088"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679730087"><span class="annot"><span class="annottext">ReplFlags
</span><a href="#local-6989586621679730087"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span id="local-6989586621679730086"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730086"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span> </span><span id="local-6989586621679730085"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730085"><span class="hs-identifier hs-var">args</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-154"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730082"><span class="annot"><span class="annottext">distPref :: String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var hs-var">distPref</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag String -&gt; String
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReplFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#replDistPref"><span class="hs-identifier hs-var hs-var">replDistPref</span></a></span><span> </span><span class="annot"><span class="annottext">ReplFlags
</span><a href="#local-6989586621679730087"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-155"></span><span>      </span><span id="local-6989586621679730078"><span class="annot"><span class="annottext">verbosity :: Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Verbosity
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ReplFlags -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Setup.html#replVerbosity"><span class="hs-identifier hs-var hs-var">replVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">ReplFlags
</span><a href="#local-6989586621679730087"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-156"></span><span>
</span><span id="line-157"></span><span>  </span><span id="local-6989586621679730076"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730076"><span class="hs-identifier hs-var">target</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [String]
-&gt; IO [TargetInfo]
</span><a href="Distribution.Simple.BuildTarget.html#readTargetInfos"><span class="hs-identifier hs-var">readTargetInfos</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730085"><span class="hs-identifier hs-var">args</span></a></span><span> </span><span class="annot"><span class="annottext">IO [TargetInfo] -&gt; ([TargetInfo] -&gt; IO TargetInfo) -&gt; IO TargetInfo
forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; (a -&gt; m b) -&gt; m b
</span><a href="../../base/src/GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var">&gt;&gt;=</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679730075"><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730075"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730075"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-158"></span><span>    </span><span class="hs-comment">-- This seems DEEPLY questionable.</span><span>
</span><span id="line-159"></span><span>    </span><span class="hs-special">[</span><span class="hs-special">]</span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; LocalBuildInfo -&gt; [TargetInfo]
</span><a href="Distribution.Types.LocalBuildInfo.html#allTargetsInBuildOrder%27"><span class="hs-identifier hs-var">allTargetsInBuildOrder'</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-160"></span><span>      </span><span class="hs-special">(</span><span id="local-6989586621679730073"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730073"><span class="hs-identifier hs-var">target</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span class="annot"><span class="annottext">[TargetInfo]
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; IO TargetInfo
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730073"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-161"></span><span>      </span><span class="hs-special">[</span><span class="hs-special">]</span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO TargetInfo
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO TargetInfo) -&gt; String -&gt; IO TargetInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Failed to determine target.&quot;</span></span><span>
</span><span id="line-162"></span><span>    </span><span class="hs-special">[</span><span id="local-6989586621679730071"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730071"><span class="hs-identifier hs-var">target</span></a></span></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; IO TargetInfo
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730071"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-163"></span><span>    </span><span class="annot"><span class="annottext">[TargetInfo]
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO TargetInfo
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO TargetInfo) -&gt; String -&gt; IO TargetInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;The 'repl' command does not support multiple targets at once.&quot;</span></span><span>
</span><span id="line-164"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730069"><span class="annot"><span class="annottext">componentsToBuild :: [TargetInfo]
</span><a href="#local-6989586621679730069"><span class="hs-identifier hs-var hs-var">componentsToBuild</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; LocalBuildInfo -&gt; [UnitId] -&gt; [TargetInfo]
</span><a href="Distribution.Types.LocalBuildInfo.html#neededTargetsInBuildOrder%27"><span class="hs-identifier hs-var">neededTargetsInBuildOrder'</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">TargetInfo -&gt; Key TargetInfo
forall a. IsNode a =&gt; a -&gt; Key a
</span><a href="Distribution.Compat.Graph.html#nodeKey"><span class="hs-identifier hs-var">nodeKey</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730076"><span class="hs-identifier hs-var">target</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-165"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#debug"><span class="hs-identifier hs-var">debug</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Component build order: &quot;</span></span><span>
</span><span id="line-166"></span><span>                 </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; String
forall a. [a] -&gt; [[a]] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#intercalate"><span class="hs-identifier hs-var">intercalate</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;, &quot;</span></span><span>
</span><span id="line-167"></span><span>                      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(TargetInfo -&gt; String) -&gt; [TargetInfo] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentName -&gt; String
</span><a href="Distribution.Types.ComponentName.html#showComponentName"><span class="hs-identifier hs-var">showComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">(ComponentName -&gt; String)
-&gt; (TargetInfo -&gt; ComponentName) -&gt; TargetInfo -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">(ComponentLocalBuildInfo -&gt; ComponentName)
-&gt; (TargetInfo -&gt; ComponentLocalBuildInfo)
-&gt; TargetInfo
-&gt; ComponentName
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-168"></span><span>                           </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730069"><span class="hs-identifier hs-var">componentsToBuild</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-169"></span><span>
</span><span id="line-170"></span><span>  </span><span id="local-6989586621679730067"><span class="annot"><span class="annottext">PackageDB
</span><a href="#local-6989586621679730067"><span class="hs-identifier hs-var">internalPackageDB</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; LocalBuildInfo -&gt; String -&gt; IO PackageDB
</span><a href="Distribution.Simple.Build.html#createInternalPackageDB"><span class="hs-identifier hs-var">createInternalPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-171"></span><span>
</span><span id="line-172"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730066"><span class="annot"><span class="annottext">lbiForComponent :: Component -&gt; LocalBuildInfo -&gt; LocalBuildInfo
</span><a href="#local-6989586621679730066"><span class="hs-identifier hs-var hs-var">lbiForComponent</span></a></span></span><span> </span><span id="local-6989586621679730065"><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730065"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span id="local-6989586621679730064"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730064"><span class="hs-identifier hs-var">lbi'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-173"></span><span>        </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730064"><span class="hs-identifier hs-var">lbi'</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-174"></span><span>          </span><span class="annot"><span class="annottext">withPackageDB :: PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var">withPackageDB</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var hs-var">withPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack -&gt; PackageDBStack -&gt; PackageDBStack
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">PackageDB
</span><a href="#local-6989586621679730067"><span class="hs-identifier hs-var">internalPackageDB</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-175"></span><span>          </span><span class="annot"><span class="annottext">withPrograms :: ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var">withPrograms</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; BuildInfo -&gt; ProgramDb -&gt; ProgramDb
</span><a href="Distribution.Simple.Build.html#addInternalBuildTools"><span class="hs-identifier hs-var">addInternalBuildTools</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730064"><span class="hs-identifier hs-var">lbi'</span></a></span><span>
</span><span id="line-176"></span><span>                            </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Component -&gt; BuildInfo
</span><a href="Distribution.Types.Component.html#componentBuildInfo"><span class="hs-identifier hs-var">componentBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730065"><span class="hs-identifier hs-var">comp</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var hs-var">withPrograms</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730064"><span class="hs-identifier hs-var">lbi'</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span>        </span><span class="hs-special">}</span><span>
</span><span id="line-178"></span><span>
</span><span id="line-179"></span><span>  </span><span class="hs-comment">-- build any dependent components</span><span>
</span><span id="line-180"></span><span>  </span><span class="annot"><span class="annottext">[IO (Maybe InstalledPackageInfo)] -&gt; IO ()
forall (t :: * -&gt; *) (m :: * -&gt; *) a.
(Foldable t, Monad m) =&gt;
t (m a) -&gt; m ()
</span><a href="../../base/src/Data.Foldable.html#sequence_"><span class="hs-identifier hs-var">sequence_</span></a></span><span>
</span><span id="line-181"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">do</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730062"><span class="annot"><span class="annottext">clbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679730062"><span class="hs-identifier hs-var hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730061"><span class="hs-identifier hs-var">subtarget</span></a></span><span>
</span><span id="line-182"></span><span>             </span><span id="local-6989586621679730060"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679730060"><span class="hs-identifier hs-var hs-var">comp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; Component
</span><a href="Distribution.Types.TargetInfo.html#targetComponent"><span class="hs-identifier hs-var hs-var">targetComponent</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730061"><span class="hs-identifier hs-var">subtarget</span></a></span><span>
</span><span id="line-183"></span><span>             </span><span id="local-6989586621679730059"><span class="annot"><span class="annottext">lbi' :: LocalBuildInfo
</span><a href="#local-6989586621679730059"><span class="hs-identifier hs-var hs-var">lbi'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Component -&gt; LocalBuildInfo -&gt; LocalBuildInfo
</span><a href="#local-6989586621679730066"><span class="hs-identifier hs-var">lbiForComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730060"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-184"></span><span>         </span><span class="annot"><span class="annottext">String
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Verbosity
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-var">componentInitialBuildSteps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730062"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-185"></span><span>         </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [PPSuffixHandler]
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; String
-&gt; IO (Maybe InstalledPackageInfo)
</span><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span>
</span><span id="line-186"></span><span>                        </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730059"><span class="hs-identifier hs-var">lbi'</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730086"><span class="hs-identifier hs-var">suffixes</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730060"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730062"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-187"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679730061"><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730061"><span class="hs-identifier hs-var">subtarget</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[TargetInfo] -&gt; [TargetInfo]
forall a. [a] -&gt; [a]
</span><a href="Distribution.Utils.Generic.html#safeInit"><span class="hs-identifier hs-var">safeInit</span></a></span><span> </span><span class="annot"><span class="annottext">[TargetInfo]
</span><a href="#local-6989586621679730069"><span class="hs-identifier hs-var">componentsToBuild</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-188"></span><span>
</span><span id="line-189"></span><span>  </span><span class="hs-comment">-- REPL for target components</span><span>
</span><span id="line-190"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730056"><span class="annot"><span class="annottext">clbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679730056"><span class="hs-identifier hs-var hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.TargetInfo.html#targetCLBI"><span class="hs-identifier hs-var hs-var">targetCLBI</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730076"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-191"></span><span>      </span><span id="local-6989586621679730055"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679730055"><span class="hs-identifier hs-var hs-var">comp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TargetInfo -&gt; Component
</span><a href="Distribution.Types.TargetInfo.html#targetComponent"><span class="hs-identifier hs-var hs-var">targetComponent</span></a></span><span> </span><span class="annot"><span class="annottext">TargetInfo
</span><a href="#local-6989586621679730076"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-192"></span><span>      </span><span id="local-6989586621679730054"><span class="annot"><span class="annottext">lbi' :: LocalBuildInfo
</span><a href="#local-6989586621679730054"><span class="hs-identifier hs-var hs-var">lbi'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Component -&gt; LocalBuildInfo -&gt; LocalBuildInfo
</span><a href="#local-6989586621679730066"><span class="hs-identifier hs-var">lbiForComponent</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730055"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-193"></span><span>      </span><span id="local-6989586621679730053"><span class="annot"><span class="annottext">replFlags :: [String]
</span><a href="#local-6989586621679730053"><span class="hs-identifier hs-var hs-var">replFlags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ReplFlags -&gt; [String]
</span><a href="Distribution.Simple.Setup.html#replReplOptions"><span class="hs-identifier hs-var hs-var">replReplOptions</span></a></span><span> </span><span class="annot"><span class="annottext">ReplFlags
</span><a href="#local-6989586621679730087"><span class="hs-identifier hs-var">flags</span></a></span><span>
</span><span id="line-194"></span><span>  </span><span class="annot"><span class="annottext">String
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Verbosity
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-var">componentInitialBuildSteps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730088"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730056"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-195"></span><span>  </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [PPSuffixHandler]
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; String
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730053"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730078"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730089"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730054"><span class="hs-identifier hs-var">lbi'</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730086"><span class="hs-identifier hs-var">suffixes</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730055"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730056"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730082"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-196"></span><span>
</span><span id="line-197"></span><span>
</span><span id="line-198"></span><span class="hs-comment">-- | Start an interpreter without loading any package files.</span><span>
</span><span id="line-199"></span><span class="annot"><a href="Distribution.Simple.Build.html#startInterpreter"><span class="hs-identifier hs-type">startInterpreter</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Db.html#ProgramDb"><span class="hs-identifier hs-type">ProgramDb</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#Compiler"><span class="hs-identifier hs-type">Compiler</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.System.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span>
</span><span id="line-200"></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDBStack"><span class="hs-identifier hs-type">PackageDBStack</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-201"></span><span id="startInterpreter"><span class="annot"><span class="annottext">startInterpreter :: Verbosity
-&gt; ProgramDb -&gt; Compiler -&gt; Platform -&gt; PackageDBStack -&gt; IO ()
</span><a href="Distribution.Simple.Build.html#startInterpreter"><span class="hs-identifier hs-var hs-var">startInterpreter</span></a></span></span><span> </span><span id="local-6989586621679730050"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730050"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679730049"><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679730049"><span class="hs-identifier hs-var">programDb</span></a></span></span><span> </span><span id="local-6989586621679730048"><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679730048"><span class="hs-identifier hs-var">comp</span></a></span></span><span> </span><span id="local-6989586621679730047"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679730047"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621679730046"><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679730046"><span class="hs-identifier hs-var">packageDBs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-202"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679730048"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-203"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; ProgramDb -&gt; Compiler -&gt; Platform -&gt; PackageDBStack -&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#startInterpreter"><span class="hs-identifier hs-var">GHC.startInterpreter</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730050"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679730049"><span class="hs-identifier hs-var">programDb</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679730048"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679730047"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679730046"><span class="hs-identifier hs-var">packageDBs</span></a></span><span>
</span><span id="line-204"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; ProgramDb -&gt; Compiler -&gt; Platform -&gt; PackageDBStack -&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#startInterpreter"><span class="hs-identifier hs-var">GHCJS.startInterpreter</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730050"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679730049"><span class="hs-identifier hs-var">programDb</span></a></span><span> </span><span class="annot"><span class="annottext">Compiler
</span><a href="#local-6989586621679730048"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621679730047"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDBStack
</span><a href="#local-6989586621679730046"><span class="hs-identifier hs-var">packageDBs</span></a></span><span>
</span><span id="line-205"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730050"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;A REPL is not supported with this compiler.&quot;</span></span><span>
</span><span id="line-206"></span><span>
</span><span id="line-207"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-type">buildComponent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-208"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span>
</span><span id="line-209"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-210"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-211"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-212"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Component.html#Component"><span class="hs-identifier hs-type">Component</span></a></span><span>
</span><span id="line-213"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-214"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-215"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.InstalledPackageInfo.html#InstalledPackageInfo"><span class="hs-identifier hs-type">InstalledPackageInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span id="buildComponent"><span class="annot"><span class="annottext">buildComponent :: Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [PPSuffixHandler]
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; String
-&gt; IO (Maybe InstalledPackageInfo)
</span><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var hs-var">buildComponent</span></a></span></span><span> </span><span id="local-6989586621679730039"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679730038"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679730038"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679730037"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730037"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679730036"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679730035"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730035"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-217"></span><span>               </span><span id="local-6989586621679730034"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679730034"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CLib"><span class="hs-identifier hs-type">CLib</span></a></span><span> </span><span id="local-6989586621679730032"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679730032"><span class="hs-identifier hs-var">lib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679730031"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679730030"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730030"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-218"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730037"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730034"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679730035"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-219"></span><span>    </span><span id="local-6989586621679730028"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730028"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679730034"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-220"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730037"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-221"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-222"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730024"><span class="annot"><span class="annottext">libbi :: BuildInfo
</span><a href="#local-6989586621679730024"><span class="hs-identifier hs-var hs-var">libbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679730032"><span class="hs-identifier hs-var">lib</span></a></span><span>
</span><span id="line-223"></span><span>        </span><span id="local-6989586621679730022"><span class="annot"><span class="annottext">lib' :: Library
</span><a href="#local-6989586621679730022"><span class="hs-identifier hs-var hs-var">lib'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679730032"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">libBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; [String] -&gt; BuildInfo)
-&gt; [String] -&gt; BuildInfo -&gt; BuildInfo
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraAsmSources"><span class="hs-identifier hs-var">addExtraAsmSources</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730028"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-224"></span><span>                                  </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo) -&gt; BuildInfo -&gt; BuildInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; [String] -&gt; BuildInfo)
-&gt; [String] -&gt; BuildInfo -&gt; BuildInfo
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCmmSources"><span class="hs-identifier hs-var">addExtraCmmSources</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730028"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-225"></span><span>                                  </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo) -&gt; BuildInfo -&gt; BuildInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; [String] -&gt; BuildInfo)
-&gt; [String] -&gt; BuildInfo -&gt; BuildInfo
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCxxSources"><span class="hs-identifier hs-var">addExtraCxxSources</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730028"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-226"></span><span>                                  </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo) -&gt; BuildInfo -&gt; BuildInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; [String] -&gt; BuildInfo)
-&gt; [String] -&gt; BuildInfo -&gt; BuildInfo
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var">addExtraCSources</span></a></span><span>   </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679730028"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-227"></span><span>                                  </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo) -&gt; BuildInfo -&gt; BuildInfo
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679730024"><span class="hs-identifier hs-var">libbi</span></a></span><span>
</span><span id="line-228"></span><span>                   </span><span class="hs-special">}</span><span>
</span><span id="line-229"></span><span>
</span><span id="line-230"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildLib"><span class="hs-identifier hs-var">buildLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679730038"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730037"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679730022"><span class="hs-identifier hs-var">lib'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-231"></span><span>
</span><span id="line-232"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679730016"><span class="annot"><span class="annottext">oneComponentRequested :: ComponentRequestedSpec -&gt; Bool
</span><a href="#local-6989586621679730016"><span class="hs-identifier hs-var hs-var">oneComponentRequested</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ComponentRequestedSpec.html#OneComponentRequestedSpec"><span class="hs-identifier hs-type">OneComponentRequestedSpec</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentName
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-233"></span><span>        </span><span class="annot"><a href="#local-6989586621679730016"><span class="hs-identifier hs-var">oneComponentRequested</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentRequestedSpec
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-234"></span><span>    </span><span class="hs-comment">-- Don't register inplace if we're only building a single component;</span><span>
</span><span id="line-235"></span><span>    </span><span class="hs-comment">-- it's not necessary because there won't be any subsequent builds</span><span>
</span><span id="line-236"></span><span>    </span><span class="hs-comment">-- that need to tag us</span><span>
</span><span id="line-237"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentRequestedSpec -&gt; Bool
</span><a href="#local-6989586621679730016"><span class="hs-identifier hs-var">oneComponentRequested</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentRequestedSpec
</span><a href="Distribution.Types.LocalBuildInfo.html#componentEnabledSpec"><span class="hs-identifier hs-var hs-var">componentEnabledSpec</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-238"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-239"></span><span>        </span><span class="hs-comment">-- Register the library in-place, so exes can depend</span><span>
</span><span id="line-240"></span><span>        </span><span class="hs-comment">-- on internally defined libraries.</span><span>
</span><span id="line-241"></span><span>        </span><span id="local-6989586621679730012"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730012"><span class="hs-identifier hs-var">pwd</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO String
</span><a href="../../directory/src/System.Directory.html#getCurrentDirectory"><span class="hs-identifier hs-var">getCurrentDirectory</span></a></span><span>
</span><span id="line-242"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span class="hs-comment">-- The in place registration uses the &quot;-inplace&quot; suffix, not an ABI hash</span><span>
</span><span id="line-243"></span><span>            </span><span id="local-6989586621679730011"><span class="annot"><span class="annottext">installedPkgInfo :: InstalledPackageInfo
</span><a href="#local-6989586621679730011"><span class="hs-identifier hs-var hs-var">installedPkgInfo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
-&gt; String
-&gt; PackageDescription
-&gt; AbiHash
-&gt; Library
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; InstalledPackageInfo
</span><a href="Distribution.Simple.Register.html#inplaceInstalledPackageInfo"><span class="hs-identifier hs-var">inplaceInstalledPackageInfo</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730012"><span class="hs-identifier hs-var">pwd</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679730030"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730037"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-244"></span><span>                                    </span><span class="hs-comment">-- NB: Use a fake ABI hash to avoid</span><span>
</span><span id="line-245"></span><span>                                    </span><span class="hs-comment">-- needing to recompute it every build.</span><span>
</span><span id="line-246"></span><span>                                    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; AbiHash
</span><a href="Distribution.Types.AbiHash.html#mkAbiHash"><span class="hs-identifier hs-var">mkAbiHash</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;inplace&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679730022"><span class="hs-identifier hs-var">lib'</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679730031"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-247"></span><span>
</span><span id="line-248"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#debug"><span class="hs-identifier hs-var">debug</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Registering inplace:\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; String
</span><a href="Distribution.InstalledPackageInfo.html#showInstalledPackageInfo"><span class="hs-identifier hs-var">IPI.showInstalledPackageInfo</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679730011"><span class="hs-identifier hs-var">installedPkgInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-249"></span><span>        </span><span class="annot"><span class="annottext">Verbosity
-&gt; Compiler
-&gt; ProgramDb
-&gt; PackageDBStack
-&gt; InstalledPackageInfo
-&gt; RegisterOptions
-&gt; IO ()
</span><a href="Distribution.Simple.Register.html#registerPackage"><span class="hs-identifier hs-var">registerPackage</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730039"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var hs-var">withPrograms</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-250"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var hs-var">withPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730036"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679730011"><span class="hs-identifier hs-var">installedPkgInfo</span></a></span><span>
</span><span id="line-251"></span><span>                        </span><span class="annot"><span class="annottext">RegisterOptions
</span><a href="Distribution.Simple.Program.HcPkg.html#defaultRegisterOptions"><span class="hs-identifier hs-var">HcPkg.defaultRegisterOptions</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-252"></span><span>                          </span><span class="annot"><span class="annottext">registerMultiInstance :: Bool
</span><a href="#local-6989586621679730004"><span class="hs-identifier hs-var">HcPkg.registerMultiInstance</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-253"></span><span>                        </span><span class="hs-special">}</span><span>
</span><span id="line-254"></span><span>        </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; Maybe InstalledPackageInfo
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679730011"><span class="hs-identifier hs-var">installedPkgInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-255"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-256"></span><span>
</span><span id="line-257"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679730003"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730003"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679730002"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679730002"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679730001"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730001"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679730000"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730000"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729999"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729999"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-258"></span><span>               </span><span id="local-6989586621679729998"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729998"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CFLib"><span class="hs-identifier hs-type">CFLib</span></a></span><span> </span><span id="local-6989586621679729996"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729996"><span class="hs-identifier hs-var">flib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729995"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729995"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729994"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729994"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-259"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730001"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729998"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730000"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729995"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730003"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729999"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-260"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730003"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730001"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-261"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729995"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729995"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-262"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildFLib"><span class="hs-identifier hs-var">buildFLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679730003"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679730002"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679730001"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679730000"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729996"><span class="hs-identifier hs-var">flib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729995"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-263"></span><span>    </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-264"></span><span>
</span><span id="line-265"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729992"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729992"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729991"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729991"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729990"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729990"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729989"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729989"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729988"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729988"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-266"></span><span>               </span><span id="local-6989586621679729987"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729987"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CExe"><span class="hs-identifier hs-type">CExe</span></a></span><span> </span><span id="local-6989586621679729985"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729985"><span class="hs-identifier hs-var">exe</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729984"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729984"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-267"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729990"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729987"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729989"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729984"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729992"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729988"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-268"></span><span>    </span><span id="local-6989586621679729983"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729983"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729992"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729987"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729989"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-269"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729992"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729990"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-270"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729984"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729984"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-271"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729982"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729982"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729985"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-272"></span><span>        </span><span id="local-6989586621679729980"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729980"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729985"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var">addExtraCSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729982"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729983"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-273"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-var">buildExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729992"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729991"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729990"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729989"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729980"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729984"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-274"></span><span>    </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-275"></span><span>
</span><span id="line-276"></span><span>
</span><span id="line-277"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729978"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729978"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729977"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729977"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729976"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729976"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729975"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729975"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729974"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729974"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-278"></span><span>               </span><span id="local-6989586621679729973"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729973"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span> </span><span id="local-6989586621679729971"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729971"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteExeV10"><span class="hs-identifier hs-type">TestSuiteExeV10</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-279"></span><span>               </span><span id="local-6989586621679729967"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729967"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729966"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729966"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-280"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729965"><span class="annot"><span class="annottext">exe :: Executable
</span><a href="#local-6989586621679729965"><span class="hs-identifier hs-var hs-var">exe</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; Executable
</span><a href="Distribution.Simple.Build.html#testSuiteExeV10AsExe"><span class="hs-identifier hs-var">testSuiteExeV10AsExe</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729971"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-281"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729976"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729973"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729975"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729967"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729978"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729974"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-282"></span><span>    </span><span id="local-6989586621679729963"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729963"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729978"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729973"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729975"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-283"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729978"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729976"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-284"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729967"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729967"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-285"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729962"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729962"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729965"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-286"></span><span>        </span><span id="local-6989586621679729961"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729961"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729965"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var">addExtraCSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729962"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729963"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-287"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-var">buildExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729978"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729977"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729976"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729975"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729961"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729967"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-288"></span><span>    </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-289"></span><span>
</span><span id="line-290"></span><span>
</span><span id="line-291"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729960"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729959"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729959"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729958"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729958"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729957"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729957"><span class="hs-identifier hs-var">lbi0</span></a></span></span><span> </span><span id="local-6989586621679729956"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729956"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-292"></span><span>               </span><span id="local-6989586621679729955"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729955"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span>
</span><span id="line-293"></span><span>                 </span><span id="local-6989586621679729954"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729954"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteLibV09"><span class="hs-identifier hs-type">TestSuiteLibV09</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-294"></span><span>               </span><span id="local-6989586621679729952"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729952"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-comment">-- This ComponentLocalBuildInfo corresponds to a detailed</span><span>
</span><span id="line-295"></span><span>                    </span><span class="hs-comment">-- test suite and not a real component. It should not</span><span>
</span><span id="line-296"></span><span>                    </span><span class="hs-comment">-- be used, except to construct the CLBIs for the</span><span>
</span><span id="line-297"></span><span>                    </span><span class="hs-comment">-- library and stub executable that will actually be</span><span>
</span><span id="line-298"></span><span>                    </span><span class="hs-comment">-- built.</span><span>
</span><span id="line-299"></span><span>               </span><span id="local-6989586621679729951"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729951"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-300"></span><span>    </span><span id="local-6989586621679729950"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729950"><span class="hs-identifier hs-var">pwd</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO String
</span><a href="../../directory/src/System.Directory.html#getCurrentDirectory"><span class="hs-identifier hs-var">getCurrentDirectory</span></a></span><span>
</span><span id="line-301"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679729949"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729949"><span class="hs-identifier hs-var">pkg</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729948"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729948"><span class="hs-identifier hs-var">lib</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729947"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729947"><span class="hs-identifier hs-var">libClbi</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729946"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729945"><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679729945"><span class="hs-identifier hs-var">ipi</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729944"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729944"><span class="hs-identifier hs-var">exe</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729943"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729943"><span class="hs-identifier hs-var">exeClbi</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-302"></span><span>          </span><span class="annot"><span class="annottext">PackageDescription
-&gt; TestSuite
-&gt; ComponentLocalBuildInfo
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; (PackageDescription, Library, ComponentLocalBuildInfo,
    LocalBuildInfo, InstalledPackageInfo, Executable,
    ComponentLocalBuildInfo)
</span><a href="Distribution.Simple.Build.html#testSuiteLibV09AsLibAndExe"><span class="hs-identifier hs-var">testSuiteLibV09AsLibAndExe</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729958"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729954"><span class="hs-identifier hs-var">test</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729952"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729957"><span class="hs-identifier hs-var">lbi0</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729951"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729950"><span class="hs-identifier hs-var">pwd</span></a></span><span>
</span><span id="line-303"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729958"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729955"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729952"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729956"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-304"></span><span>    </span><span id="local-6989586621679729941"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729941"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729955"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-305"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729958"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-306"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729952"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729952"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-307"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildLib"><span class="hs-identifier hs-var">buildLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729959"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729949"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729948"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729947"><span class="hs-identifier hs-var">libClbi</span></a></span><span>
</span><span id="line-308"></span><span>    </span><span class="hs-comment">-- NB: need to enable multiple instances here, because on 7.10+</span><span>
</span><span id="line-309"></span><span>    </span><span class="hs-comment">-- the package name is the same as the library, and we still</span><span>
</span><span id="line-310"></span><span>    </span><span class="hs-comment">-- want the registration to go through.</span><span>
</span><span id="line-311"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Compiler
-&gt; ProgramDb
-&gt; PackageDBStack
-&gt; InstalledPackageInfo
-&gt; RegisterOptions
-&gt; IO ()
</span><a href="Distribution.Simple.Register.html#registerPackage"><span class="hs-identifier hs-var">registerPackage</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var hs-var">withPrograms</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-312"></span><span>                    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; PackageDBStack
</span><a href="Distribution.Types.LocalBuildInfo.html#withPackageDB"><span class="hs-identifier hs-var hs-var">withPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679729945"><span class="hs-identifier hs-var">ipi</span></a></span><span>
</span><span id="line-313"></span><span>                    </span><span class="annot"><span class="annottext">RegisterOptions
</span><a href="Distribution.Simple.Program.HcPkg.html#defaultRegisterOptions"><span class="hs-identifier hs-var">HcPkg.defaultRegisterOptions</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-314"></span><span>                      </span><span class="annot"><span class="annottext">registerMultiInstance :: Bool
</span><a href="#local-6989586621679730004"><span class="hs-identifier hs-var">HcPkg.registerMultiInstance</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-315"></span><span>                    </span><span class="hs-special">}</span><span>
</span><span id="line-316"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729940"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729940"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729944"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-317"></span><span>        </span><span class="hs-comment">-- NB: The stub executable is linked against the test-library</span><span>
</span><span id="line-318"></span><span>        </span><span class="hs-comment">--     which already contains all `other-modules`, so we need</span><span>
</span><span id="line-319"></span><span>        </span><span class="hs-comment">--     to remove those from the stub-exe's build-info</span><span>
</span><span id="line-320"></span><span>        </span><span id="local-6989586621679729939"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729939"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729944"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var">addExtraCSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729940"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729941"><span class="hs-identifier hs-var">extras</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">otherModules :: [ModuleName]
</span><a href="#local-6989586621679729938"><span class="hs-identifier hs-var">otherModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-321"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-var">buildExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729960"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729959"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729958"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729946"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729939"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729943"><span class="hs-identifier hs-var">exeClbi</span></a></span><span>
</span><span id="line-322"></span><span>    </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-comment">-- Can't depend on test suite</span><span>
</span><span id="line-323"></span><span>
</span><span id="line-324"></span><span>
</span><span id="line-325"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729937"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729937"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-326"></span><span>               </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteUnsupported"><span class="hs-identifier hs-type">TestSuiteUnsupported</span></a></span><span> </span><span id="local-6989586621679729935"><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729935"><span class="hs-identifier hs-var">tt</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-327"></span><span>               </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-328"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO (Maybe InstalledPackageInfo)
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729937"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO (Maybe InstalledPackageInfo))
-&gt; String -&gt; IO (Maybe InstalledPackageInfo)
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;No support for building test suite type &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">TestType -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729935"><span class="hs-identifier hs-var">tt</span></a></span><span>
</span><span id="line-329"></span><span>
</span><span id="line-330"></span><span>
</span><span id="line-331"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729933"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729933"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729932"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729932"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729931"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729931"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729930"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729930"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729929"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729929"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-332"></span><span>               </span><span id="local-6989586621679729928"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729928"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CBench"><span class="hs-identifier hs-type">CBench</span></a></span><span> </span><span id="local-6989586621679729926"><span class="annot"><span class="annottext">bm :: Benchmark
</span><a href="#local-6989586621679729926"><span class="hs-identifier hs-var">bm</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkInterface :: Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var">benchmarkInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkExeV10"><span class="hs-identifier hs-type">BenchmarkExeV10</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-333"></span><span>               </span><span id="local-6989586621679729922"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729922"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729921"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729921"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-334"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729920"><span class="annot"><span class="annottext">exe :: Executable
</span><a href="#local-6989586621679729920"><span class="hs-identifier hs-var hs-var">exe</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; Executable
</span><a href="Distribution.Simple.Build.html#benchmarkExeV10asExe"><span class="hs-identifier hs-var">benchmarkExeV10asExe</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729926"><span class="hs-identifier hs-var">bm</span></a></span><span>
</span><span id="line-335"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729931"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729928"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729930"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729922"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729933"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729929"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-336"></span><span>    </span><span id="local-6989586621679729918"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729918"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729933"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729928"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729930"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-337"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, OpenModule)]
-&gt; IO ()
forall a.
Pretty a =&gt;
Verbosity
-&gt; String
-&gt; PackageIdentifier
-&gt; ComponentName
-&gt; Maybe [(ModuleName, a)]
-&gt; IO ()
</span><a href="Distribution.Backpack.DescribeUnitId.html#setupMessage%27"><span class="hs-identifier hs-var">setupMessage'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729933"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729931"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-338"></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var hs-var">componentLocalName</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729922"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; Maybe [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#maybeComponentInstantiatedWith"><span class="hs-identifier hs-var">maybeComponentInstantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729922"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-339"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729917"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729917"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729920"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-340"></span><span>        </span><span id="local-6989586621679729916"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729916"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729920"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var">addExtraCSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729917"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729918"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-341"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-var">buildExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729933"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729932"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729931"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729930"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729916"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729922"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-342"></span><span>    </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo -&gt; IO (Maybe InstalledPackageInfo)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe InstalledPackageInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-343"></span><span>
</span><span id="line-344"></span><span>
</span><span id="line-345"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildComponent"><span class="hs-identifier hs-var">buildComponent</span></a></span><span> </span><span id="local-6989586621679729915"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729915"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-346"></span><span>               </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CBench"><span class="hs-identifier hs-type">CBench</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkInterface :: Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var">benchmarkInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkUnsupported"><span class="hs-identifier hs-type">BenchmarkUnsupported</span></a></span><span> </span><span id="local-6989586621679729913"><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729913"><span class="hs-identifier hs-var">tt</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-347"></span><span>               </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-348"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO (Maybe InstalledPackageInfo)
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729915"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO (Maybe InstalledPackageInfo))
-&gt; String -&gt; IO (Maybe InstalledPackageInfo)
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;No support for building benchmark type &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729913"><span class="hs-identifier hs-var">tt</span></a></span><span>
</span><span id="line-349"></span><span>
</span><span id="line-350"></span><span>
</span><span id="line-351"></span><span class="hs-comment">-- | Add extra C sources generated by preprocessing to build</span><span>
</span><span id="line-352"></span><span class="hs-comment">-- information.</span><span>
</span><span id="line-353"></span><span class="annot"><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-type">addExtraCSources</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-354"></span><span id="addExtraCSources"><span class="annot"><span class="annottext">addExtraCSources :: BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCSources"><span class="hs-identifier hs-var hs-var">addExtraCSources</span></a></span></span><span> </span><span id="local-6989586621679729912"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729912"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679729911"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729911"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729912"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729909"><span class="hs-identifier hs-var">new</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-355"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679729909"><span class="annot"><span class="annottext">new :: [String]
</span><a href="#local-6989586621679729909"><span class="hs-identifier hs-var hs-var">new</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set String -&gt; [String]
forall a. Set a -&gt; [a]
</span><a href="../../containers/src/Data.Set.Internal.html#toList"><span class="hs-identifier hs-var">Set.toList</span></a></span><span> </span><span class="annot"><span class="annottext">(Set String -&gt; [String]) -&gt; Set String -&gt; [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729903"><span class="hs-identifier hs-var">old</span></a></span><span> </span><span class="annot"><span class="annottext">Set String -&gt; Set String -&gt; Set String
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-operator hs-var">`Set.union`</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729901"><span class="hs-identifier hs-var">exs</span></a></span><span>
</span><span id="line-356"></span><span>        </span><span id="local-6989586621679729903"><span class="annot"><span class="annottext">old :: Set String
</span><a href="#local-6989586621679729903"><span class="hs-identifier hs-var hs-var">old</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; Set String) -&gt; [String] -&gt; Set String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729912"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-357"></span><span>        </span><span id="local-6989586621679729901"><span class="annot"><span class="annottext">exs :: Set String
</span><a href="#local-6989586621679729901"><span class="hs-identifier hs-var hs-var">exs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729911"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-358"></span><span>
</span><span id="line-359"></span><span>
</span><span id="line-360"></span><span class="hs-comment">-- | Add extra C++ sources generated by preprocessing to build</span><span>
</span><span id="line-361"></span><span class="hs-comment">-- information.</span><span>
</span><span id="line-362"></span><span class="annot"><a href="Distribution.Simple.Build.html#addExtraCxxSources"><span class="hs-identifier hs-type">addExtraCxxSources</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-363"></span><span id="addExtraCxxSources"><span class="annot"><span class="annottext">addExtraCxxSources :: BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCxxSources"><span class="hs-identifier hs-var hs-var">addExtraCxxSources</span></a></span></span><span> </span><span id="local-6989586621679729895"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729895"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679729894"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729894"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729895"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cxxSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cxxSources"><span class="hs-identifier hs-var">cxxSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729892"><span class="hs-identifier hs-var">new</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-364"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679729892"><span class="annot"><span class="annottext">new :: [String]
</span><a href="#local-6989586621679729892"><span class="hs-identifier hs-var hs-var">new</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set String -&gt; [String]
forall a. Set a -&gt; [a]
</span><a href="../../containers/src/Data.Set.Internal.html#toList"><span class="hs-identifier hs-var">Set.toList</span></a></span><span> </span><span class="annot"><span class="annottext">(Set String -&gt; [String]) -&gt; Set String -&gt; [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729889"><span class="hs-identifier hs-var">old</span></a></span><span> </span><span class="annot"><span class="annottext">Set String -&gt; Set String -&gt; Set String
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-operator hs-var">`Set.union`</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729888"><span class="hs-identifier hs-var">exs</span></a></span><span>
</span><span id="line-365"></span><span>        </span><span id="local-6989586621679729889"><span class="annot"><span class="annottext">old :: Set String
</span><a href="#local-6989586621679729889"><span class="hs-identifier hs-var hs-var">old</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; Set String) -&gt; [String] -&gt; Set String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cxxSources"><span class="hs-identifier hs-var hs-var">cxxSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729895"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-366"></span><span>        </span><span id="local-6989586621679729888"><span class="annot"><span class="annottext">exs :: Set String
</span><a href="#local-6989586621679729888"><span class="hs-identifier hs-var hs-var">exs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729894"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-367"></span><span>
</span><span id="line-368"></span><span>
</span><span id="line-369"></span><span class="hs-comment">-- | Add extra C-- sources generated by preprocessing to build</span><span>
</span><span id="line-370"></span><span class="hs-comment">-- information.</span><span>
</span><span id="line-371"></span><span class="annot"><a href="Distribution.Simple.Build.html#addExtraCmmSources"><span class="hs-identifier hs-type">addExtraCmmSources</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-372"></span><span id="addExtraCmmSources"><span class="annot"><span class="annottext">addExtraCmmSources :: BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraCmmSources"><span class="hs-identifier hs-var hs-var">addExtraCmmSources</span></a></span></span><span> </span><span id="local-6989586621679729883"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729883"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679729882"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729882"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729883"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cmmSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cmmSources"><span class="hs-identifier hs-var">cmmSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729880"><span class="hs-identifier hs-var">new</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-373"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679729880"><span class="annot"><span class="annottext">new :: [String]
</span><a href="#local-6989586621679729880"><span class="hs-identifier hs-var hs-var">new</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set String -&gt; [String]
forall a. Set a -&gt; [a]
</span><a href="../../containers/src/Data.Set.Internal.html#toList"><span class="hs-identifier hs-var">Set.toList</span></a></span><span> </span><span class="annot"><span class="annottext">(Set String -&gt; [String]) -&gt; Set String -&gt; [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729877"><span class="hs-identifier hs-var">old</span></a></span><span> </span><span class="annot"><span class="annottext">Set String -&gt; Set String -&gt; Set String
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-operator hs-var">`Set.union`</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729876"><span class="hs-identifier hs-var">exs</span></a></span><span>
</span><span id="line-374"></span><span>        </span><span id="local-6989586621679729877"><span class="annot"><span class="annottext">old :: Set String
</span><a href="#local-6989586621679729877"><span class="hs-identifier hs-var hs-var">old</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; Set String) -&gt; [String] -&gt; Set String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cmmSources"><span class="hs-identifier hs-var hs-var">cmmSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729883"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-375"></span><span>        </span><span id="local-6989586621679729876"><span class="annot"><span class="annottext">exs :: Set String
</span><a href="#local-6989586621679729876"><span class="hs-identifier hs-var hs-var">exs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729882"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-376"></span><span>
</span><span id="line-377"></span><span>
</span><span id="line-378"></span><span class="hs-comment">-- | Add extra ASM sources generated by preprocessing to build</span><span>
</span><span id="line-379"></span><span class="hs-comment">-- information.</span><span>
</span><span id="line-380"></span><span class="annot"><a href="Distribution.Simple.Build.html#addExtraAsmSources"><span class="hs-identifier hs-type">addExtraAsmSources</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-381"></span><span id="addExtraAsmSources"><span class="annot"><span class="annottext">addExtraAsmSources :: BuildInfo -&gt; [String] -&gt; BuildInfo
</span><a href="Distribution.Simple.Build.html#addExtraAsmSources"><span class="hs-identifier hs-var hs-var">addExtraAsmSources</span></a></span></span><span> </span><span id="local-6989586621679729871"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729871"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679729870"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729870"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729871"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">asmSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#asmSources"><span class="hs-identifier hs-var">asmSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729868"><span class="hs-identifier hs-var">new</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-382"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679729868"><span class="annot"><span class="annottext">new :: [String]
</span><a href="#local-6989586621679729868"><span class="hs-identifier hs-var hs-var">new</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set String -&gt; [String]
forall a. Set a -&gt; [a]
</span><a href="../../containers/src/Data.Set.Internal.html#toList"><span class="hs-identifier hs-var">Set.toList</span></a></span><span> </span><span class="annot"><span class="annottext">(Set String -&gt; [String]) -&gt; Set String -&gt; [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729865"><span class="hs-identifier hs-var">old</span></a></span><span> </span><span class="annot"><span class="annottext">Set String -&gt; Set String -&gt; Set String
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-operator hs-var">`Set.union`</span></a></span><span> </span><span class="annot"><span class="annottext">Set String
</span><a href="#local-6989586621679729864"><span class="hs-identifier hs-var">exs</span></a></span><span>
</span><span id="line-383"></span><span>        </span><span id="local-6989586621679729865"><span class="annot"><span class="annottext">old :: Set String
</span><a href="#local-6989586621679729865"><span class="hs-identifier hs-var hs-var">old</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; Set String) -&gt; [String] -&gt; Set String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#asmSources"><span class="hs-identifier hs-var hs-var">asmSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729871"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-384"></span><span>        </span><span id="local-6989586621679729864"><span class="annot"><span class="annottext">exs :: Set String
</span><a href="#local-6989586621679729864"><span class="hs-identifier hs-var hs-var">exs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; Set String
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729870"><span class="hs-identifier hs-var">extras</span></a></span><span>
</span><span id="line-385"></span><span>
</span><span id="line-386"></span><span>
</span><span id="line-387"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-type">replComponent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-388"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-389"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-390"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-391"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-392"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Component.html#Component"><span class="hs-identifier hs-type">Component</span></a></span><span>
</span><span id="line-393"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-394"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-395"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-396"></span><span id="replComponent"><span class="annot"><span class="annottext">replComponent :: [String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; [PPSuffixHandler]
-&gt; Component
-&gt; ComponentLocalBuildInfo
-&gt; String
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var hs-var">replComponent</span></a></span></span><span> </span><span id="local-6989586621679729859"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729859"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729858"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729858"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729857"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729857"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729856"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729856"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729855"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729855"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-397"></span><span>               </span><span id="local-6989586621679729854"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729854"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CLib"><span class="hs-identifier hs-type">CLib</span></a></span><span> </span><span id="local-6989586621679729853"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729853"><span class="hs-identifier hs-var">lib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729852"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729852"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-398"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729857"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729854"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729856"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729852"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729858"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729855"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-399"></span><span>    </span><span id="local-6989586621679729851"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729851"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729858"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729854"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729856"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-400"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729850"><span class="annot"><span class="annottext">libbi :: BuildInfo
</span><a href="#local-6989586621679729850"><span class="hs-identifier hs-var hs-var">libbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729853"><span class="hs-identifier hs-var">lib</span></a></span><span>
</span><span id="line-401"></span><span>        </span><span id="local-6989586621679729849"><span class="annot"><span class="annottext">lib' :: Library
</span><a href="#local-6989586621679729849"><span class="hs-identifier hs-var hs-var">lib'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729853"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">libBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729850"><span class="hs-identifier hs-var">libbi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729850"><span class="hs-identifier hs-var">libbi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729851"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-402"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replLib"><span class="hs-identifier hs-var">replLib</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729859"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729858"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729857"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729856"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729849"><span class="hs-identifier hs-var">lib'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729852"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-403"></span><span>
</span><span id="line-404"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span id="local-6989586621679729847"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729847"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729846"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729846"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729845"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729845"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729844"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729844"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729843"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729843"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-405"></span><span>               </span><span id="local-6989586621679729842"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729842"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CFLib"><span class="hs-identifier hs-type">CFLib</span></a></span><span> </span><span id="local-6989586621679729841"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729841"><span class="hs-identifier hs-var">flib</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729840"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729840"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-406"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729845"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729842"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729844"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729840"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729846"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729843"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-407"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replFLib"><span class="hs-identifier hs-var">replFLib</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729847"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729846"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729845"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729844"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729841"><span class="hs-identifier hs-var">flib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729840"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-408"></span><span>
</span><span id="line-409"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span id="local-6989586621679729838"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729838"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729837"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729837"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729836"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729836"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729835"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729835"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729834"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729834"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-410"></span><span>               </span><span id="local-6989586621679729833"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729833"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CExe"><span class="hs-identifier hs-type">CExe</span></a></span><span> </span><span id="local-6989586621679729832"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729832"><span class="hs-identifier hs-var">exe</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729831"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729831"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-411"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729836"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729833"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729835"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729831"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729837"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729834"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-412"></span><span>    </span><span id="local-6989586621679729830"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729830"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729837"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729833"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729835"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-413"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729829"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729829"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729832"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-414"></span><span>        </span><span id="local-6989586621679729828"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729828"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729832"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729829"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729829"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729830"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-415"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replExe"><span class="hs-identifier hs-var">replExe</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729838"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729837"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729836"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729835"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729828"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729831"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-416"></span><span>
</span><span id="line-417"></span><span>
</span><span id="line-418"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span id="local-6989586621679729826"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729826"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729825"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729825"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729824"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729824"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729823"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729823"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729822"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729822"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-419"></span><span>               </span><span id="local-6989586621679729821"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729821"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span> </span><span id="local-6989586621679729820"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729820"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteExeV10"><span class="hs-identifier hs-type">TestSuiteExeV10</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-420"></span><span>               </span><span id="local-6989586621679729819"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729819"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729818"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729818"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-421"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729817"><span class="annot"><span class="annottext">exe :: Executable
</span><a href="#local-6989586621679729817"><span class="hs-identifier hs-var hs-var">exe</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; Executable
</span><a href="Distribution.Simple.Build.html#testSuiteExeV10AsExe"><span class="hs-identifier hs-var">testSuiteExeV10AsExe</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729820"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-422"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729824"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729821"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729823"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729819"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729825"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729822"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-423"></span><span>    </span><span id="local-6989586621679729816"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729816"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729825"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729821"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729823"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-424"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729815"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729815"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729817"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-425"></span><span>        </span><span id="local-6989586621679729814"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729814"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729817"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729815"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729815"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729816"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-426"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replExe"><span class="hs-identifier hs-var">replExe</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729826"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729825"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729824"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729823"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729814"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729819"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-427"></span><span>
</span><span id="line-428"></span><span>
</span><span id="line-429"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span id="local-6989586621679729813"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729813"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729812"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729812"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729811"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729811"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729810"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729810"><span class="hs-identifier hs-var">lbi0</span></a></span></span><span> </span><span id="local-6989586621679729809"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729809"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-430"></span><span>               </span><span id="local-6989586621679729808"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729808"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span>
</span><span id="line-431"></span><span>                 </span><span id="local-6989586621679729807"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729807"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteLibV09"><span class="hs-identifier hs-type">TestSuiteLibV09</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-432"></span><span>               </span><span id="local-6989586621679729806"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729806"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729805"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729805"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-433"></span><span>    </span><span id="local-6989586621679729804"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729804"><span class="hs-identifier hs-var">pwd</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO String
</span><a href="../../directory/src/System.Directory.html#getCurrentDirectory"><span class="hs-identifier hs-var">getCurrentDirectory</span></a></span><span>
</span><span id="line-434"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679729803"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729803"><span class="hs-identifier hs-var">pkg</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729802"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729802"><span class="hs-identifier hs-var">lib</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729801"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729801"><span class="hs-identifier hs-var">libClbi</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729800"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729800"><span class="hs-identifier hs-var">lbi</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Executable
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-435"></span><span>          </span><span class="annot"><span class="annottext">PackageDescription
-&gt; TestSuite
-&gt; ComponentLocalBuildInfo
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; (PackageDescription, Library, ComponentLocalBuildInfo,
    LocalBuildInfo, InstalledPackageInfo, Executable,
    ComponentLocalBuildInfo)
</span><a href="Distribution.Simple.Build.html#testSuiteLibV09AsLibAndExe"><span class="hs-identifier hs-var">testSuiteLibV09AsLibAndExe</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729811"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729807"><span class="hs-identifier hs-var">test</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729806"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729810"><span class="hs-identifier hs-var">lbi0</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729805"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729804"><span class="hs-identifier hs-var">pwd</span></a></span><span>
</span><span id="line-436"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729811"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729808"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729800"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729806"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729812"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729809"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-437"></span><span>    </span><span id="local-6989586621679729799"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729799"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729812"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729808"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729800"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-438"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729798"><span class="annot"><span class="annottext">libbi :: BuildInfo
</span><a href="#local-6989586621679729798"><span class="hs-identifier hs-var hs-var">libbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729802"><span class="hs-identifier hs-var">lib</span></a></span><span>
</span><span id="line-439"></span><span>        </span><span id="local-6989586621679729797"><span class="annot"><span class="annottext">lib' :: Library
</span><a href="#local-6989586621679729797"><span class="hs-identifier hs-var hs-var">lib'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729802"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">libBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729798"><span class="hs-identifier hs-var">libbi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729798"><span class="hs-identifier hs-var">libbi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729799"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-440"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replLib"><span class="hs-identifier hs-var">replLib</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729813"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729812"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729803"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729800"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729797"><span class="hs-identifier hs-var">lib'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729801"><span class="hs-identifier hs-var">libClbi</span></a></span><span>
</span><span id="line-441"></span><span>
</span><span id="line-442"></span><span>
</span><span id="line-443"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729796"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729796"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-444"></span><span>              </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CTest"><span class="hs-identifier hs-type">CTest</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteUnsupported"><span class="hs-identifier hs-type">TestSuiteUnsupported</span></a></span><span> </span><span id="local-6989586621679729795"><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729795"><span class="hs-identifier hs-var">tt</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-445"></span><span>              </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-446"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729796"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;No support for building test suite type &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">TestType -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729795"><span class="hs-identifier hs-var">tt</span></a></span><span>
</span><span id="line-447"></span><span>
</span><span id="line-448"></span><span>
</span><span id="line-449"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span id="local-6989586621679729794"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729794"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729793"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729793"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729792"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729792"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729791"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729791"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729790"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729790"><span class="hs-identifier hs-var">suffixes</span></a></span></span><span>
</span><span id="line-450"></span><span>               </span><span id="local-6989586621679729789"><span class="annot"><span class="annottext">comp :: Component
</span><a href="#local-6989586621679729789"><span class="hs-identifier hs-var">comp</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CBench"><span class="hs-identifier hs-type">CBench</span></a></span><span> </span><span id="local-6989586621679729788"><span class="annot"><span class="annottext">bm :: Benchmark
</span><a href="#local-6989586621679729788"><span class="hs-identifier hs-var">bm</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkInterface :: Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var">benchmarkInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkExeV10"><span class="hs-identifier hs-type">BenchmarkExeV10</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-451"></span><span>               </span><span id="local-6989586621679729787"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729787"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729786"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729786"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-452"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729785"><span class="annot"><span class="annottext">exe :: Executable
</span><a href="#local-6989586621679729785"><span class="hs-identifier hs-var hs-var">exe</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; Executable
</span><a href="Distribution.Simple.Build.html#benchmarkExeV10asExe"><span class="hs-identifier hs-var">benchmarkExeV10asExe</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729788"><span class="hs-identifier hs-var">bm</span></a></span><span>
</span><span id="line-453"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; Component
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Bool
-&gt; Verbosity
-&gt; [PPSuffixHandler]
-&gt; IO ()
</span><a href="Distribution.Simple.PreProcess.html#preprocessComponent"><span class="hs-identifier hs-var">preprocessComponent</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729792"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729789"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729791"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729787"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729793"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729790"><span class="hs-identifier hs-var">suffixes</span></a></span><span>
</span><span id="line-454"></span><span>    </span><span id="local-6989586621679729784"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729784"><span class="hs-identifier hs-var">extras</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; Component -&gt; LocalBuildInfo -&gt; IO [String]
</span><a href="Distribution.Simple.PreProcess.html#preprocessExtras"><span class="hs-identifier hs-var">preprocessExtras</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729793"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729789"><span class="hs-identifier hs-var">comp</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729791"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-455"></span><span>    </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729783"><span class="annot"><span class="annottext">ebi :: BuildInfo
</span><a href="#local-6989586621679729783"><span class="hs-identifier hs-var hs-var">ebi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729785"><span class="hs-identifier hs-var">exe</span></a></span><span>
</span><span id="line-456"></span><span>        </span><span id="local-6989586621679729782"><span class="annot"><span class="annottext">exe' :: Executable
</span><a href="#local-6989586621679729782"><span class="hs-identifier hs-var hs-var">exe'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729785"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729783"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cSources :: [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var">cSources</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729783"><span class="hs-identifier hs-var">ebi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729784"><span class="hs-identifier hs-var">extras</span></a></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-457"></span><span>    </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replExe"><span class="hs-identifier hs-var">replExe</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729794"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729793"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729792"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729791"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729782"><span class="hs-identifier hs-var">exe'</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729787"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-458"></span><span>
</span><span id="line-459"></span><span>
</span><span id="line-460"></span><span class="annot"><a href="Distribution.Simple.Build.html#replComponent"><span class="hs-identifier hs-var">replComponent</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729781"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729781"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-461"></span><span>              </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.Component.html#CBench"><span class="hs-identifier hs-type">CBench</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkInterface :: Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var">benchmarkInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkUnsupported"><span class="hs-identifier hs-type">BenchmarkUnsupported</span></a></span><span> </span><span id="local-6989586621679729780"><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729780"><span class="hs-identifier hs-var">tt</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-462"></span><span>              </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-463"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729781"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;No support for building benchmark type &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729780"><span class="hs-identifier hs-var">tt</span></a></span><span>
</span><span id="line-464"></span><span>
</span><span id="line-465"></span><span class="hs-comment">----------------------------------------------------</span><span>
</span><span id="line-466"></span><span class="hs-comment">-- Shared code for buildComponent and replComponent</span><span>
</span><span id="line-467"></span><span class="hs-comment">--</span><span>
</span><span id="line-468"></span><span>
</span><span id="line-469"></span><span class="hs-comment">-- | Translate a exe-style 'TestSuite' component into an exe for building</span><span>
</span><span id="line-470"></span><span class="annot"><a href="Distribution.Simple.Build.html#testSuiteExeV10AsExe"><span class="hs-identifier hs-type">testSuiteExeV10AsExe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span>
</span><span id="line-471"></span><span id="testSuiteExeV10AsExe"><span class="annot"><span class="annottext">testSuiteExeV10AsExe :: TestSuite -&gt; Executable
</span><a href="Distribution.Simple.Build.html#testSuiteExeV10AsExe"><span class="hs-identifier hs-var hs-var">testSuiteExeV10AsExe</span></a></span></span><span> </span><span id="local-6989586621679729779"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729779"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteExeV10"><span class="hs-identifier hs-type">TestSuiteExeV10</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729778"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729778"><span class="hs-identifier hs-var">mainFile</span></a></span></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-472"></span><span>    </span><span class="annot"><span class="annottext">Executable :: UnqualComponentName
-&gt; String -&gt; ExecutableScope -&gt; BuildInfo -&gt; Executable
</span><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-473"></span><span>      </span><span class="annot"><span class="annottext">exeName :: UnqualComponentName
</span><a href="Distribution.Types.Executable.html#exeName"><span class="hs-identifier hs-var">exeName</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; UnqualComponentName
</span><a href="Distribution.Types.TestSuite.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729779"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-474"></span><span>      </span><span class="annot"><span class="annottext">modulePath :: String
</span><a href="Distribution.Types.Executable.html#modulePath"><span class="hs-identifier hs-var">modulePath</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729778"><span class="hs-identifier hs-var">mainFile</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-475"></span><span>      </span><span class="annot"><span class="annottext">exeScope :: ExecutableScope
</span><a href="Distribution.Types.Executable.html#exeScope"><span class="hs-identifier hs-var">exeScope</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ExecutableScope
</span><a href="Distribution.Types.ExecutableScope.html#ExecutablePublic"><span class="hs-identifier hs-var">ExecutablePublic</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-476"></span><span>      </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729779"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-477"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-478"></span><span class="annot"><a href="Distribution.Simple.Build.html#testSuiteExeV10AsExe"><span class="hs-identifier hs-var">testSuiteExeV10AsExe</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Executable
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;testSuiteExeV10AsExe: wrong kind&quot;</span></span><span>
</span><span id="line-479"></span><span>
</span><span id="line-480"></span><span class="hs-comment">-- | Translate a exe-style 'Benchmark' component into an exe for building</span><span>
</span><span id="line-481"></span><span class="annot"><a href="Distribution.Simple.Build.html#benchmarkExeV10asExe"><span class="hs-identifier hs-type">benchmarkExeV10asExe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span>
</span><span id="line-482"></span><span id="benchmarkExeV10asExe"><span class="annot"><span class="annottext">benchmarkExeV10asExe :: Benchmark -&gt; Executable
</span><a href="Distribution.Simple.Build.html#benchmarkExeV10asExe"><span class="hs-identifier hs-var hs-var">benchmarkExeV10asExe</span></a></span></span><span> </span><span id="local-6989586621679729769"><span class="annot"><span class="annottext">bm :: Benchmark
</span><a href="#local-6989586621679729769"><span class="hs-identifier hs-var">bm</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkInterface :: Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var">benchmarkInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkExeV10"><span class="hs-identifier hs-type">BenchmarkExeV10</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729768"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729768"><span class="hs-identifier hs-var">mainFile</span></a></span></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-483"></span><span>    </span><span class="annot"><span class="annottext">Executable :: UnqualComponentName
-&gt; String -&gt; ExecutableScope -&gt; BuildInfo -&gt; Executable
</span><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-484"></span><span>      </span><span class="annot"><span class="annottext">exeName :: UnqualComponentName
</span><a href="Distribution.Types.Executable.html#exeName"><span class="hs-identifier hs-var">exeName</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; UnqualComponentName
</span><a href="Distribution.Types.Benchmark.html#benchmarkName"><span class="hs-identifier hs-var hs-var">benchmarkName</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729769"><span class="hs-identifier hs-var">bm</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-485"></span><span>      </span><span class="annot"><span class="annottext">modulePath :: String
</span><a href="Distribution.Types.Executable.html#modulePath"><span class="hs-identifier hs-var">modulePath</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729768"><span class="hs-identifier hs-var">mainFile</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-486"></span><span>      </span><span class="annot"><span class="annottext">exeScope :: ExecutableScope
</span><a href="Distribution.Types.Executable.html#exeScope"><span class="hs-identifier hs-var">exeScope</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ExecutableScope
</span><a href="Distribution.Types.ExecutableScope.html#ExecutablePublic"><span class="hs-identifier hs-var">ExecutablePublic</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-487"></span><span>      </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; BuildInfo
</span><a href="Distribution.Types.Benchmark.html#benchmarkBuildInfo"><span class="hs-identifier hs-var hs-var">benchmarkBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729769"><span class="hs-identifier hs-var">bm</span></a></span><span>
</span><span id="line-488"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-489"></span><span class="annot"><a href="Distribution.Simple.Build.html#benchmarkExeV10asExe"><span class="hs-identifier hs-var">benchmarkExeV10asExe</span></a></span><span> </span><span class="annot"><a href="Distribution.Types.Benchmark.html#Benchmark"><span class="hs-identifier hs-type">Benchmark</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Executable
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;benchmarkExeV10asExe: wrong kind&quot;</span></span><span>
</span><span id="line-490"></span><span>
</span><span id="line-491"></span><span class="hs-comment">-- | Translate a lib-style 'TestSuite' component into a lib + exe for building</span><span>
</span><span id="line-492"></span><span class="annot"><a href="Distribution.Simple.Build.html#testSuiteLibV09AsLibAndExe"><span class="hs-identifier hs-type">testSuiteLibV09AsLibAndExe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-493"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span>
</span><span id="line-494"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-495"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-496"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-497"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-498"></span><span>                           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-499"></span><span>                               </span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-500"></span><span>                               </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-501"></span><span>                               </span><span class="annot"><a href="Distribution.Types.InstalledPackageInfo.html#InstalledPackageInfo"><span class="hs-identifier hs-type">IPI.InstalledPackageInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-502"></span><span>                               </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-503"></span><span id="testSuiteLibV09AsLibAndExe"><span class="annot"><span class="annottext">testSuiteLibV09AsLibAndExe :: PackageDescription
-&gt; TestSuite
-&gt; ComponentLocalBuildInfo
-&gt; LocalBuildInfo
-&gt; String
-&gt; String
-&gt; (PackageDescription, Library, ComponentLocalBuildInfo,
    LocalBuildInfo, InstalledPackageInfo, Executable,
    ComponentLocalBuildInfo)
</span><a href="Distribution.Simple.Build.html#testSuiteLibV09AsLibAndExe"><span class="hs-identifier hs-var hs-var">testSuiteLibV09AsLibAndExe</span></a></span></span><span> </span><span id="local-6989586621679729765"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729765"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span>
</span><span id="line-504"></span><span>                     </span><span id="local-6989586621679729764"><span class="annot"><span class="annottext">test :: TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span></span><span class="hs-glyph">@</span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testInterface :: TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var">testInterface</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteLibV09"><span class="hs-identifier hs-type">TestSuiteLibV09</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729763"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729763"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-505"></span><span>                     </span><span id="local-6989586621679729762"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729761"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729761"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729760"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729760"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span id="local-6989586621679729759"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729759"><span class="hs-identifier hs-var">pwd</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-506"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729758"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729757"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729756"><span class="hs-identifier hs-var">libClbi</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729761"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679729755"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729754"><span class="hs-identifier hs-var">exe</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729753"><span class="hs-identifier hs-var">exeClbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-507"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-508"></span><span>    </span><span id="local-6989586621679729752"><span class="annot"><span class="annottext">bi :: BuildInfo
</span><a href="#local-6989586621679729752"><span class="hs-identifier hs-var hs-var">bi</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-509"></span><span>    </span><span id="local-6989586621679729757"><span class="annot"><span class="annottext">lib :: Library
</span><a href="#local-6989586621679729757"><span class="hs-identifier hs-var hs-var">lib</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library :: LibraryName
-&gt; [ModuleName]
-&gt; [ModuleReexport]
-&gt; [ModuleName]
-&gt; Bool
-&gt; LibraryVisibility
-&gt; BuildInfo
-&gt; Library
</span><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-510"></span><span>            </span><span class="annot"><span class="annottext">libName :: LibraryName
</span><a href="Distribution.Types.Library.html#libName"><span class="hs-identifier hs-var">libName</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LibraryName
</span><a href="Distribution.Types.LibraryName.html#LMainLibName"><span class="hs-identifier hs-var">LMainLibName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-511"></span><span>            </span><span class="annot"><span class="annottext">exposedModules :: [ModuleName]
</span><a href="Distribution.Types.Library.html#exposedModules"><span class="hs-identifier hs-var">exposedModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729763"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-512"></span><span>            </span><span class="annot"><span class="annottext">reexportedModules :: [ModuleReexport]
</span><a href="Distribution.Types.Library.html#reexportedModules"><span class="hs-identifier hs-var">reexportedModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-513"></span><span>            </span><span class="annot"><span class="annottext">signatures :: [ModuleName]
</span><a href="Distribution.Types.Library.html#signatures"><span class="hs-identifier hs-var">signatures</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-514"></span><span>            </span><span class="annot"><span class="annottext">libExposed :: Bool
</span><a href="Distribution.Types.Library.html#libExposed"><span class="hs-identifier hs-var">libExposed</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">,</span><span>
</span><span id="line-515"></span><span>            </span><span class="annot"><span class="annottext">libVisibility :: LibraryVisibility
</span><a href="Distribution.Types.Library.html#libVisibility"><span class="hs-identifier hs-var">libVisibility</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LibraryVisibility
</span><a href="Distribution.Types.LibraryVisibility.html#LibraryVisibilityPrivate"><span class="hs-identifier hs-var">LibraryVisibilityPrivate</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-516"></span><span>            </span><span class="annot"><span class="annottext">libBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729752"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-517"></span><span>          </span><span class="hs-special">}</span><span>
</span><span id="line-518"></span><span>    </span><span class="hs-comment">-- This is, like, the one place where we use a CTestName for a library.</span><span>
</span><span id="line-519"></span><span>    </span><span class="hs-comment">-- Should NOT use library name, since that could conflict!</span><span>
</span><span id="line-520"></span><span>    </span><span class="annot"><a href="Distribution.Types.PackageId.html#PackageIdentifier"><span class="hs-identifier hs-type">PackageIdentifier</span></a></span><span> </span><span id="local-6989586621679729741"><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679729741"><span class="hs-identifier hs-var">pkg_name</span></a></span></span><span> </span><span id="local-6989586621679729740"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679729740"><span class="hs-identifier hs-var">pkg_ver</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">package</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729765"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-521"></span><span>    </span><span class="hs-comment">-- Note: we do make internal library from the test!</span><span>
</span><span id="line-522"></span><span>    </span><span id="local-6989586621679729738"><span class="annot"><span class="annottext">compat_name :: MungedPackageName
</span><a href="#local-6989586621679729738"><span class="hs-identifier hs-var hs-var">compat_name</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; LibraryName -&gt; MungedPackageName
</span><a href="Distribution.Types.MungedPackageName.html#MungedPackageName"><span class="hs-identifier hs-var">MungedPackageName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679729741"><span class="hs-identifier hs-var">pkg_name</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnqualComponentName -&gt; LibraryName
</span><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-var">LSubLibName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuite -&gt; UnqualComponentName
</span><a href="Distribution.Types.TestSuite.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-523"></span><span>    </span><span id="local-6989586621679729735"><span class="annot"><span class="annottext">compat_key :: String
</span><a href="#local-6989586621679729735"><span class="hs-identifier hs-var hs-var">compat_key</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; MungedPackageName -&gt; Version -&gt; UnitId -&gt; String
</span><a href="Distribution.Backpack.Id.html#computeCompatPackageKey"><span class="hs-identifier hs-var">computeCompatPackageKey</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729761"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">MungedPackageName
</span><a href="#local-6989586621679729738"><span class="hs-identifier hs-var">compat_name</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679729740"><span class="hs-identifier hs-var">pkg_ver</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-524"></span><span>    </span><span id="local-6989586621679729756"><span class="annot"><span class="annottext">libClbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679729756"><span class="hs-identifier hs-var hs-var">libClbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LibComponentLocalBuildInfo :: ComponentName
-&gt; ComponentId
-&gt; UnitId
-&gt; Bool
-&gt; [(ModuleName, OpenModule)]
-&gt; [(UnitId, MungedPackageId)]
-&gt; [(OpenUnitId, ModuleRenaming)]
-&gt; [UnitId]
-&gt; [UnitId]
-&gt; String
-&gt; MungedPackageName
-&gt; [ExposedModule]
-&gt; Bool
-&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#LibComponentLocalBuildInfo"><span class="hs-identifier hs-type">LibComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-525"></span><span>                </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">componentPackageDeps :: [(UnitId, MungedPackageId)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentPackageDeps"><span class="hs-identifier hs-var">componentPackageDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; [(UnitId, MungedPackageId)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentPackageDeps"><span class="hs-identifier hs-var hs-var">componentPackageDeps</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-526"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentInternalDeps :: [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentInternalDeps"><span class="hs-identifier hs-var">componentInternalDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentInternalDeps"><span class="hs-identifier hs-var hs-var">componentInternalDeps</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-527"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentIsIndefinite_ :: Bool
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentIsIndefinite_"><span class="hs-identifier hs-var">componentIsIndefinite_</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-528"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentExeDeps :: [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentExeDeps"><span class="hs-identifier hs-var">componentExeDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentExeDeps"><span class="hs-identifier hs-var hs-var">componentExeDeps</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-529"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentLocalName :: ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var">componentLocalName</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LibraryName -&gt; ComponentName
</span><a href="Distribution.Types.ComponentName.html#CLibName"><span class="hs-identifier hs-var">CLibName</span></a></span><span> </span><span class="annot"><span class="annottext">(LibraryName -&gt; ComponentName) -&gt; LibraryName -&gt; ComponentName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; LibraryName
</span><a href="Distribution.Types.LibraryName.html#LSubLibName"><span class="hs-identifier hs-var">LSubLibName</span></a></span><span> </span><span class="annot"><span class="annottext">(UnqualComponentName -&gt; LibraryName)
-&gt; UnqualComponentName -&gt; LibraryName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; UnqualComponentName
</span><a href="Distribution.Types.TestSuite.html#testName"><span class="hs-identifier hs-var hs-var">testName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-530"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentIsPublic :: Bool
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentIsPublic"><span class="hs-identifier hs-var">componentIsPublic</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-531"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentIncludes :: [(OpenUnitId, ModuleRenaming)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentIncludes"><span class="hs-identifier hs-var">componentIncludes</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; [(OpenUnitId, ModuleRenaming)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentIncludes"><span class="hs-identifier hs-var hs-var">componentIncludes</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-532"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentUnitId :: UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var">componentUnitId</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-533"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentComponentId :: ComponentId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentComponentId"><span class="hs-identifier hs-var">componentComponentId</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; ComponentId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentComponentId"><span class="hs-identifier hs-var hs-var">componentComponentId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-534"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentInstantiatedWith :: [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentInstantiatedWith"><span class="hs-identifier hs-var">componentInstantiatedWith</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-535"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentCompatPackageName :: MungedPackageName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentCompatPackageName"><span class="hs-identifier hs-var">componentCompatPackageName</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MungedPackageName
</span><a href="#local-6989586621679729738"><span class="hs-identifier hs-var">compat_name</span></a></span><span>
</span><span id="line-536"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentCompatPackageKey :: String
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentCompatPackageKey"><span class="hs-identifier hs-var">componentCompatPackageKey</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729735"><span class="hs-identifier hs-var">compat_key</span></a></span><span>
</span><span id="line-537"></span><span>                </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">componentExposedModules :: [ExposedModule]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentExposedModules"><span class="hs-identifier hs-var">componentExposedModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ModuleName -&gt; Maybe OpenModule -&gt; ExposedModule
</span><a href="Distribution.Types.ExposedModule.html#ExposedModule"><span class="hs-identifier hs-var">IPI.ExposedModule</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729763"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe OpenModule
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-538"></span><span>                </span><span class="hs-special">}</span><span>
</span><span id="line-539"></span><span>    </span><span id="local-6989586621679729716"><span class="annot"><span class="annottext">pkgName' :: PackageName
</span><a href="#local-6989586621679729716"><span class="hs-identifier hs-var hs-var">pkgName'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; PackageName
</span><a href="Distribution.Types.PackageName.html#mkPackageName"><span class="hs-identifier hs-var">mkPackageName</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; PackageName) -&gt; String -&gt; PackageName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">MungedPackageName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">MungedPackageName
</span><a href="#local-6989586621679729738"><span class="hs-identifier hs-var">compat_name</span></a></span><span>
</span><span id="line-540"></span><span>    </span><span id="local-6989586621679729758"><span class="annot"><span class="annottext">pkg :: PackageDescription
</span><a href="#local-6989586621679729758"><span class="hs-identifier hs-var hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729765"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-541"></span><span>            </span><span class="annot"><span class="annottext">package :: PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var">package</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">package</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729765"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">pkgName :: PackageName
</span><a href="Distribution.Types.PackageId.html#pkgName"><span class="hs-identifier hs-var">pkgName</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679729716"><span class="hs-identifier hs-var">pkgName'</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-542"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">executables :: [Executable]
</span><a href="Distribution.Types.PackageDescription.html#executables"><span class="hs-identifier hs-var">executables</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-543"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">testSuites :: [TestSuite]
</span><a href="Distribution.Types.PackageDescription.html#testSuites"><span class="hs-identifier hs-var">testSuites</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-544"></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">subLibraries :: [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var">subLibraries</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729757"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-545"></span><span>          </span><span class="hs-special">}</span><span>
</span><span id="line-546"></span><span>    </span><span id="local-6989586621679729755"><span class="annot"><span class="annottext">ipi :: InstalledPackageInfo
</span><a href="#local-6989586621679729755"><span class="hs-identifier hs-var hs-var">ipi</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
-&gt; String
-&gt; PackageDescription
-&gt; AbiHash
-&gt; Library
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; InstalledPackageInfo
</span><a href="Distribution.Simple.Register.html#inplaceInstalledPackageInfo"><span class="hs-identifier hs-var">inplaceInstalledPackageInfo</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729759"><span class="hs-identifier hs-var">pwd</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729760"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729758"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; AbiHash
</span><a href="Distribution.Types.AbiHash.html#mkAbiHash"><span class="hs-identifier hs-var">mkAbiHash</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729757"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729761"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729756"><span class="hs-identifier hs-var">libClbi</span></a></span><span>
</span><span id="line-547"></span><span>    </span><span id="local-6989586621679729710"><span class="annot"><span class="annottext">testDir :: String
</span><a href="#local-6989586621679729710"><span class="hs-identifier hs-var hs-var">testDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; String
</span><a href="Distribution.Types.LocalBuildInfo.html#buildDir"><span class="hs-identifier hs-var hs-var">buildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729761"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span>
</span><span id="line-548"></span><span>          </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;-tmp&quot;</span></span><span>
</span><span id="line-549"></span><span>    </span><span id="local-6989586621679729707"><span class="annot"><span class="annottext">testLibDep :: Dependency
</span><a href="#local-6989586621679729707"><span class="hs-identifier hs-var hs-var">testLibDep</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageName
-&gt; VersionRange -&gt; NonEmptySet LibraryName -&gt; Dependency
</span><a href="Distribution.Types.Dependency.html#Dependency"><span class="hs-identifier hs-var">Dependency</span></a></span><span>
</span><span id="line-550"></span><span>        </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621679729716"><span class="hs-identifier hs-var">pkgName'</span></a></span><span>
</span><span id="line-551"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#thisVersion"><span class="hs-identifier hs-var">thisVersion</span></a></span><span> </span><span class="annot"><span class="annottext">(Version -&gt; VersionRange) -&gt; Version -&gt; VersionRange
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageIdentifier -&gt; Version
</span><a href="Distribution.Types.PackageId.html#pkgVersion"><span class="hs-identifier hs-var hs-var">pkgVersion</span></a></span><span> </span><span class="annot"><span class="annottext">(PackageIdentifier -&gt; Version) -&gt; PackageIdentifier -&gt; Version
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var hs-var">package</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729765"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-552"></span><span>        </span><span class="annot"><span class="annottext">NonEmptySet LibraryName
</span><a href="Distribution.Types.Dependency.html#mainLibSet"><span class="hs-identifier hs-var">mainLibSet</span></a></span><span>
</span><span id="line-553"></span><span>    </span><span id="local-6989586621679729754"><span class="annot"><span class="annottext">exe :: Executable
</span><a href="#local-6989586621679729754"><span class="hs-identifier hs-var hs-var">exe</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable :: UnqualComponentName
-&gt; String -&gt; ExecutableScope -&gt; BuildInfo -&gt; Executable
</span><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-554"></span><span>            </span><span class="annot"><span class="annottext">exeName :: UnqualComponentName
</span><a href="Distribution.Types.Executable.html#exeName"><span class="hs-identifier hs-var">exeName</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; UnqualComponentName
</span><a href="Distribution.Types.UnqualComponentName.html#mkUnqualComponentName"><span class="hs-identifier hs-var">mkUnqualComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; UnqualComponentName) -&gt; String -&gt; UnqualComponentName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-555"></span><span>            </span><span class="annot"><span class="annottext">modulePath :: String
</span><a href="Distribution.Types.Executable.html#modulePath"><span class="hs-identifier hs-var">modulePath</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubFilePath"><span class="hs-identifier hs-var">stubFilePath</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-556"></span><span>            </span><span class="annot"><span class="annottext">exeScope :: ExecutableScope
</span><a href="Distribution.Types.Executable.html#exeScope"><span class="hs-identifier hs-var">exeScope</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ExecutableScope
</span><a href="Distribution.Types.ExecutableScope.html#ExecutablePublic"><span class="hs-identifier hs-var">ExecutablePublic</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-557"></span><span>            </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-558"></span><span>                           </span><span class="annot"><span class="annottext">hsSourceDirs :: [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var">hsSourceDirs</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729710"><span class="hs-identifier hs-var">testDir</span></a></span><span> </span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-559"></span><span>                           </span><span class="annot"><span class="annottext">targetBuildDepends :: [Dependency]
</span><a href="Distribution.Types.BuildInfo.html#targetBuildDepends"><span class="hs-identifier hs-var">targetBuildDepends</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Dependency
</span><a href="#local-6989586621679729707"><span class="hs-identifier hs-var">testLibDep</span></a></span><span>
</span><span id="line-560"></span><span>                             </span><span class="annot"><span class="annottext">Dependency -&gt; [Dependency] -&gt; [Dependency]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [Dependency]
</span><a href="Distribution.Types.BuildInfo.html#targetBuildDepends"><span class="hs-identifier hs-var hs-var">targetBuildDepends</span></a></span><span> </span><span class="annot"><span class="annottext">(BuildInfo -&gt; [Dependency]) -&gt; BuildInfo -&gt; [Dependency]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-561"></span><span>                         </span><span class="hs-special">}</span><span>
</span><span id="line-562"></span><span>          </span><span class="hs-special">}</span><span>
</span><span id="line-563"></span><span>    </span><span class="hs-comment">-- | The stub executable needs a new 'ComponentLocalBuildInfo'</span><span>
</span><span id="line-564"></span><span>    </span><span class="hs-comment">-- that exposes the relevant test suite library.</span><span>
</span><span id="line-565"></span><span>    </span><span id="local-6989586621679729692"><span class="annot"><span class="annottext">deps :: [(UnitId, MungedPackageId)]
</span><a href="#local-6989586621679729692"><span class="hs-identifier hs-var hs-var">deps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; UnitId
</span><a href="Distribution.Types.InstalledPackageInfo.html#installedUnitId"><span class="hs-identifier hs-var hs-var">IPI.installedUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679729755"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; MungedPackageId
forall pkg. HasMungedPackageId pkg =&gt; pkg -&gt; MungedPackageId
</span><a href="Distribution.Package.html#mungedId"><span class="hs-identifier hs-var">mungedId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679729755"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-566"></span><span>         </span><span class="annot"><span class="annottext">(UnitId, MungedPackageId)
-&gt; [(UnitId, MungedPackageId)] -&gt; [(UnitId, MungedPackageId)]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((UnitId, MungedPackageId) -&gt; Bool)
-&gt; [(UnitId, MungedPackageId)] -&gt; [(UnitId, MungedPackageId)]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729689"><span class="annot"><span class="annottext">MungedPackageId
</span><a href="#local-6989586621679729689"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729687"><span class="annot"><span class="annottext">name :: String
</span><a href="#local-6989586621679729687"><span class="hs-identifier hs-var hs-var">name</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MungedPackageName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">(MungedPackageName -&gt; String) -&gt; MungedPackageName -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">MungedPackageId -&gt; MungedPackageName
</span><a href="Distribution.Types.MungedPackageId.html#mungedName"><span class="hs-identifier hs-var hs-var">mungedName</span></a></span><span> </span><span class="annot"><span class="annottext">MungedPackageId
</span><a href="#local-6989586621679729689"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-567"></span><span>                               </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729687"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Cabal&quot;</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729687"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;base&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-568"></span><span>                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; [(UnitId, MungedPackageId)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentPackageDeps"><span class="hs-identifier hs-var hs-var">componentPackageDeps</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-569"></span><span>    </span><span id="local-6989586621679729753"><span class="annot"><span class="annottext">exeClbi :: ComponentLocalBuildInfo
</span><a href="#local-6989586621679729753"><span class="hs-identifier hs-var hs-var">exeClbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ExeComponentLocalBuildInfo :: ComponentName
-&gt; ComponentId
-&gt; UnitId
-&gt; [(UnitId, MungedPackageId)]
-&gt; [(OpenUnitId, ModuleRenaming)]
-&gt; [UnitId]
-&gt; [UnitId]
-&gt; ComponentLocalBuildInfo
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#ExeComponentLocalBuildInfo"><span class="hs-identifier hs-type">ExeComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-570"></span><span>                </span><span class="hs-comment">-- TODO: this is a hack, but as long as this is unique</span><span>
</span><span id="line-571"></span><span>                </span><span class="hs-comment">-- (doesn't clobber something) we won't run into trouble</span><span>
</span><span id="line-572"></span><span>                </span><span class="annot"><span class="annottext">componentUnitId :: UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var">componentUnitId</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; UnitId
</span><a href="Distribution.Types.UnitId.html#mkUnitId"><span class="hs-identifier hs-var">mkUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-573"></span><span>                </span><span class="annot"><span class="annottext">componentComponentId :: ComponentId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentComponentId"><span class="hs-identifier hs-var">componentComponentId</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; ComponentId
</span><a href="Distribution.Types.ComponentId.html#mkComponentId"><span class="hs-identifier hs-var">mkComponentId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-574"></span><span>                </span><span class="annot"><span class="annottext">componentInternalDeps :: [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentInternalDeps"><span class="hs-identifier hs-var">componentInternalDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729762"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-575"></span><span>                </span><span class="annot"><span class="annottext">componentExeDeps :: [UnitId]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentExeDeps"><span class="hs-identifier hs-var">componentExeDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-576"></span><span>                </span><span class="annot"><span class="annottext">componentLocalName :: ComponentName
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentLocalName"><span class="hs-identifier hs-var">componentLocalName</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; ComponentName
</span><a href="Distribution.Types.ComponentName.html#CExeName"><span class="hs-identifier hs-var">CExeName</span></a></span><span> </span><span class="annot"><span class="annottext">(UnqualComponentName -&gt; ComponentName)
-&gt; UnqualComponentName -&gt; ComponentName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; UnqualComponentName
</span><a href="Distribution.Types.UnqualComponentName.html#mkUnqualComponentName"><span class="hs-identifier hs-var">mkUnqualComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; UnqualComponentName) -&gt; String -&gt; UnqualComponentName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; String
</span><a href="Distribution.Simple.Test.LibV09.html#stubName"><span class="hs-identifier hs-var">stubName</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729764"><span class="hs-identifier hs-var">test</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-577"></span><span>                </span><span class="annot"><span class="annottext">componentPackageDeps :: [(UnitId, MungedPackageId)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentPackageDeps"><span class="hs-identifier hs-var">componentPackageDeps</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[(UnitId, MungedPackageId)]
</span><a href="#local-6989586621679729692"><span class="hs-identifier hs-var">deps</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-578"></span><span>                </span><span class="hs-comment">-- Assert DefUnitId invariant!</span><span>
</span><span id="line-579"></span><span>                </span><span class="hs-comment">-- Executable can't be indefinite, so dependencies must</span><span>
</span><span id="line-580"></span><span>                </span><span class="hs-comment">-- be definite packages.</span><span>
</span><span id="line-581"></span><span>                </span><span class="annot"><span class="annottext">componentIncludes :: [(OpenUnitId, ModuleRenaming)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentIncludes"><span class="hs-identifier hs-var">componentIncludes</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[OpenUnitId] -&gt; [ModuleRenaming] -&gt; [(OpenUnitId, ModuleRenaming)]
forall a b. [a] -&gt; [b] -&gt; [(a, b)]
</span><a href="../../base/src/GHC.List.html#zip"><span class="hs-identifier hs-var">zip</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((UnitId, MungedPackageId) -&gt; OpenUnitId)
-&gt; [(UnitId, MungedPackageId)] -&gt; [OpenUnitId]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">DefUnitId -&gt; OpenUnitId
</span><a href="Distribution.Backpack.html#DefiniteUnitId"><span class="hs-identifier hs-var">DefiniteUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">(DefUnitId -&gt; OpenUnitId)
-&gt; ((UnitId, MungedPackageId) -&gt; DefUnitId)
-&gt; (UnitId, MungedPackageId)
-&gt; OpenUnitId
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; DefUnitId
</span><a href="Distribution.Types.UnitId.html#unsafeMkDefUnitId"><span class="hs-identifier hs-var">unsafeMkDefUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">(UnitId -&gt; DefUnitId)
-&gt; ((UnitId, MungedPackageId) -&gt; UnitId)
-&gt; (UnitId, MungedPackageId)
-&gt; DefUnitId
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(UnitId, MungedPackageId) -&gt; UnitId
forall a b. (a, b) -&gt; a
</span><a href="../../base/src/Data.Tuple.html#fst"><span class="hs-identifier hs-var">fst</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[(UnitId, MungedPackageId)]
</span><a href="#local-6989586621679729692"><span class="hs-identifier hs-var">deps</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-582"></span><span>                                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleRenaming -&gt; [ModuleRenaming]
forall a. a -&gt; [a]
</span><a href="../../base/src/GHC.List.html#repeat"><span class="hs-identifier hs-var">repeat</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleRenaming
</span><a href="Distribution.Types.ModuleRenaming.html#defaultRenaming"><span class="hs-identifier hs-var">defaultRenaming</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-583"></span><span>              </span><span class="hs-special">}</span><span>
</span><span id="line-584"></span><span class="annot"><a href="Distribution.Simple.Build.html#testSuiteLibV09AsLibAndExe"><span class="hs-identifier hs-var">testSuiteLibV09AsLibAndExe</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="Distribution.Types.TestSuite.html#TestSuite"><span class="hs-identifier hs-type">TestSuite</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
-&gt; (PackageDescription, Library, ComponentLocalBuildInfo,
    LocalBuildInfo, InstalledPackageInfo, Executable,
    ComponentLocalBuildInfo)
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;testSuiteLibV09AsLibAndExe: wrong kind&quot;</span></span><span>
</span><span id="line-585"></span><span>
</span><span id="line-586"></span><span>
</span><span id="line-587"></span><span class="hs-comment">-- | Initialize a new package db file for libraries defined</span><span>
</span><span id="line-588"></span><span class="hs-comment">-- internally to the package.</span><span>
</span><span id="line-589"></span><span class="annot"><a href="Distribution.Simple.Build.html#createInternalPackageDB"><span class="hs-identifier hs-type">createInternalPackageDB</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-590"></span><span>                        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html#PackageDB"><span class="hs-identifier hs-type">PackageDB</span></a></span><span>
</span><span id="line-591"></span><span id="createInternalPackageDB"><span class="annot"><span class="annottext">createInternalPackageDB :: Verbosity -&gt; LocalBuildInfo -&gt; String -&gt; IO PackageDB
</span><a href="Distribution.Simple.Build.html#createInternalPackageDB"><span class="hs-identifier hs-var hs-var">createInternalPackageDB</span></a></span></span><span> </span><span id="local-6989586621679729676"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729676"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729675"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729675"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729674"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729674"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-592"></span><span>    </span><span id="local-6989586621679729673"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729673"><span class="hs-identifier hs-var">existsAlready</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="Distribution.Simple.Register.html#doesPackageDBExist"><span class="hs-identifier hs-var">doesPackageDBExist</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729671"><span class="hs-identifier hs-var">dbPath</span></a></span><span>
</span><span id="line-593"></span><span>    </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729673"><span class="hs-identifier hs-var">existsAlready</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; IO ()
</span><a href="Distribution.Simple.Register.html#deletePackageDB"><span class="hs-identifier hs-var">deletePackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729671"><span class="hs-identifier hs-var">dbPath</span></a></span><span>
</span><span id="line-594"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; Compiler -&gt; ProgramDb -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Register.html#createPackageDB"><span class="hs-identifier hs-var">createPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729676"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729675"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ProgramDb
</span><a href="Distribution.Types.LocalBuildInfo.html#withPrograms"><span class="hs-identifier hs-var hs-var">withPrograms</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729675"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729671"><span class="hs-identifier hs-var">dbPath</span></a></span><span>
</span><span id="line-595"></span><span>    </span><span class="annot"><span class="annottext">PackageDB -&gt; IO PackageDB
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PackageDB
</span><a href="Distribution.Simple.Compiler.html#SpecificPackageDB"><span class="hs-identifier hs-var">SpecificPackageDB</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729671"><span class="hs-identifier hs-var">dbPath</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-596"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-597"></span><span>    </span><span id="local-6989586621679729671"><span class="annot"><span class="annottext">dbPath :: String
</span><a href="#local-6989586621679729671"><span class="hs-identifier hs-var hs-var">dbPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; String -&gt; String
</span><a href="Distribution.Simple.Register.html#internalPackageDBPath"><span class="hs-identifier hs-var">internalPackageDBPath</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729675"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729674"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-598"></span><span>
</span><span id="line-599"></span><span class="annot"><a href="Distribution.Simple.Build.html#addInternalBuildTools"><span class="hs-identifier hs-type">addInternalBuildTools</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-600"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Db.html#ProgramDb"><span class="hs-identifier hs-type">ProgramDb</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.Db.html#ProgramDb"><span class="hs-identifier hs-type">ProgramDb</span></a></span><span>
</span><span id="line-601"></span><span id="addInternalBuildTools"><span class="annot"><span class="annottext">addInternalBuildTools :: PackageDescription
-&gt; LocalBuildInfo -&gt; BuildInfo -&gt; ProgramDb -&gt; ProgramDb
</span><a href="Distribution.Simple.Build.html#addInternalBuildTools"><span class="hs-identifier hs-var hs-var">addInternalBuildTools</span></a></span></span><span> </span><span id="local-6989586621679729666"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729666"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621679729665"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729665"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729664"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729664"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679729663"><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679729663"><span class="hs-identifier hs-var">progs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-602"></span><span>    </span><span class="annot"><span class="annottext">(ConfiguredProgram -&gt; ProgramDb -&gt; ProgramDb)
-&gt; ProgramDb -&gt; [ConfiguredProgram] -&gt; ProgramDb
forall (t :: * -&gt; *) a b.
Foldable t =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldr"><span class="hs-identifier hs-var">foldr</span></a></span><span> </span><span class="annot"><span class="annottext">ConfiguredProgram -&gt; ProgramDb -&gt; ProgramDb
</span><a href="Distribution.Simple.Program.Db.html#updateProgram"><span class="hs-identifier hs-var">updateProgram</span></a></span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><a href="#local-6989586621679729663"><span class="hs-identifier hs-var">progs</span></a></span><span> </span><span class="annot"><span class="annottext">[ConfiguredProgram]
</span><a href="#local-6989586621679729660"><span class="hs-identifier hs-var">internalBuildTools</span></a></span><span>
</span><span id="line-603"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-604"></span><span>    </span><span id="local-6989586621679729660"><span class="annot"><span class="annottext">internalBuildTools :: [ConfiguredProgram]
</span><a href="#local-6989586621679729660"><span class="hs-identifier hs-var hs-var">internalBuildTools</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-605"></span><span>      </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String -&gt; ProgramLocation -&gt; ConfiguredProgram
</span><a href="Distribution.Simple.Program.Types.html#simpleConfiguredProgram"><span class="hs-identifier hs-var">simpleConfiguredProgram</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729658"><span class="hs-identifier hs-var">toolName'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; ProgramLocation
</span><a href="Distribution.Simple.Program.Types.html#FoundOnSystem"><span class="hs-identifier hs-var">FoundOnSystem</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729656"><span class="hs-identifier hs-var">toolLocation</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-606"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679729655"><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679729655"><span class="hs-identifier hs-var">toolName</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; BuildInfo -&gt; [UnqualComponentName]
</span><a href="Distribution.Simple.BuildToolDepends.html#getAllInternalToolDependencies"><span class="hs-identifier hs-var">getAllInternalToolDependencies</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729666"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729664"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-607"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729658"><span class="annot"><span class="annottext">toolName' :: String
</span><a href="#local-6989586621679729658"><span class="hs-identifier hs-var hs-var">toolName'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnqualComponentName -&gt; String
</span><a href="Distribution.Types.UnqualComponentName.html#unUnqualComponentName"><span class="hs-identifier hs-var">unUnqualComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">UnqualComponentName
</span><a href="#local-6989586621679729655"><span class="hs-identifier hs-var">toolName</span></a></span><span>
</span><span id="line-608"></span><span>      </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729656"><span class="annot"><span class="annottext">toolLocation :: String
</span><a href="#local-6989586621679729656"><span class="hs-identifier hs-var hs-var">toolLocation</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; String
</span><a href="Distribution.Types.LocalBuildInfo.html#buildDir"><span class="hs-identifier hs-var hs-var">buildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729665"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729658"><span class="hs-identifier hs-var">toolName'</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729658"><span class="hs-identifier hs-var">toolName'</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator hs-var">&lt;.&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#exeExtension"><span class="hs-identifier hs-var">exeExtension</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Platform
</span><a href="Distribution.Types.LocalBuildInfo.html#hostPlatform"><span class="hs-identifier hs-var hs-var">hostPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729665"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-609"></span><span>
</span><span id="line-610"></span><span>
</span><span id="line-611"></span><span class="hs-comment">-- TODO: build separate libs in separate dirs so that we can build</span><span>
</span><span id="line-612"></span><span class="hs-comment">-- multiple libs, e.g. for 'LibTest' library-style test suites</span><span>
</span><span id="line-613"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildLib"><span class="hs-identifier hs-type">buildLib</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span>
</span><span id="line-614"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-615"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-616"></span><span id="buildLib"><span class="annot"><span class="annottext">buildLib :: Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildLib"><span class="hs-identifier hs-var hs-var">buildLib</span></a></span></span><span> </span><span id="local-6989586621679729650"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729649"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729649"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729648"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729648"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729647"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729646"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729646"><span class="hs-identifier hs-var">lib</span></a></span></span><span> </span><span id="local-6989586621679729645"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729645"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-617"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-618"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#buildLib"><span class="hs-identifier hs-var">GHC.buildLib</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729649"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729648"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729646"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729645"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-619"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#buildLib"><span class="hs-identifier hs-var">GHCJS.buildLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729649"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729648"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729646"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729645"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-620"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#UHC"><span class="hs-identifier hs-var">UHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.UHC.html#buildLib"><span class="hs-identifier hs-var">UHC.buildLib</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span><span>         </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729648"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729646"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729645"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-621"></span><span>    </span><span class="annot"><a href="Distribution.Compiler.html#HaskellSuite"><span class="hs-identifier hs-type">HaskellSuite</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.HaskellSuite.html#buildLib"><span class="hs-identifier hs-var">HaskellSuite.buildLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729648"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729647"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729646"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729645"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-622"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729650"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building is not supported with this compiler.&quot;</span></span><span>
</span><span id="line-623"></span><span>
</span><span id="line-624"></span><span class="hs-comment">-- | Build a foreign library</span><span>
</span><span id="line-625"></span><span class="hs-comment">--</span><span>
</span><span id="line-626"></span><span class="hs-comment">-- NOTE: We assume that we already checked that we can actually build the</span><span>
</span><span id="line-627"></span><span class="hs-comment">-- foreign library in configure.</span><span>
</span><span id="line-628"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildFLib"><span class="hs-identifier hs-type">buildFLib</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span>
</span><span id="line-629"></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-630"></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ForeignLib.html#ForeignLib"><span class="hs-identifier hs-type">ForeignLib</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-631"></span><span id="buildFLib"><span class="annot"><span class="annottext">buildFLib :: Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildFLib"><span class="hs-identifier hs-var hs-var">buildFLib</span></a></span></span><span> </span><span id="local-6989586621679729638"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729638"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729637"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729637"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729636"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729636"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729635"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729635"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729634"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729634"><span class="hs-identifier hs-var">flib</span></a></span></span><span> </span><span id="local-6989586621679729633"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729633"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-632"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729635"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-633"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#buildFLib"><span class="hs-identifier hs-var">GHC.buildFLib</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729638"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729637"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729636"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729635"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729634"><span class="hs-identifier hs-var">flib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729633"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-634"></span><span>      </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729638"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building is not supported with this compiler.&quot;</span></span><span>
</span><span id="line-635"></span><span>
</span><span id="line-636"></span><span class="annot"><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-type">buildExe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span>
</span><span id="line-637"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-638"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-639"></span><span id="buildExe"><span class="annot"><span class="annottext">buildExe :: Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#buildExe"><span class="hs-identifier hs-var hs-var">buildExe</span></a></span></span><span> </span><span id="local-6989586621679729631"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729631"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729630"><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729630"><span class="hs-identifier hs-var">numJobs</span></a></span></span><span> </span><span id="local-6989586621679729629"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729629"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729628"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729628"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729627"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729627"><span class="hs-identifier hs-var">exe</span></a></span></span><span> </span><span id="local-6989586621679729626"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729626"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-640"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729628"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-641"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#buildExe"><span class="hs-identifier hs-var">GHC.buildExe</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729631"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729630"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729629"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729628"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729627"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729626"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-642"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#buildExe"><span class="hs-identifier hs-var">GHCJS.buildExe</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729631"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
</span><a href="#local-6989586621679729630"><span class="hs-identifier hs-var">numJobs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729629"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729628"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729627"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729626"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-643"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#UHC"><span class="hs-identifier hs-var">UHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.UHC.html#buildExe"><span class="hs-identifier hs-var">UHC.buildExe</span></a></span><span>   </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729631"><span class="hs-identifier hs-var">verbosity</span></a></span><span>         </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729629"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729628"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729627"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729626"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-644"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729631"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building is not supported with this compiler.&quot;</span></span><span>
</span><span id="line-645"></span><span>
</span><span id="line-646"></span><span class="annot"><a href="Distribution.Simple.Build.html#replLib"><span class="hs-identifier hs-type">replLib</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-647"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-648"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-649"></span><span id="replLib"><span class="annot"><span class="annottext">replLib :: [String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replLib"><span class="hs-identifier hs-var hs-var">replLib</span></a></span></span><span> </span><span id="local-6989586621679729622"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729622"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729621"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729621"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729620"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729620"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729619"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729619"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729618"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729618"><span class="hs-identifier hs-var">lib</span></a></span></span><span> </span><span id="local-6989586621679729617"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729617"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-650"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729619"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-651"></span><span>    </span><span class="hs-comment">-- 'cabal repl' doesn't need to support 'ghc --make -j', so we just pass</span><span>
</span><span id="line-652"></span><span>    </span><span class="hs-comment">-- NoFlag as the numJobs parameter.</span><span>
</span><span id="line-653"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#replLib"><span class="hs-identifier hs-var">GHC.replLib</span></a></span><span>   </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729622"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729621"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729620"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729619"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729618"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729617"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-654"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Library
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#replLib"><span class="hs-identifier hs-var">GHCJS.replLib</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729622"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729621"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729620"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729619"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729618"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729617"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-655"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729621"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;A REPL is not supported for this compiler.&quot;</span></span><span>
</span><span id="line-656"></span><span>
</span><span id="line-657"></span><span class="annot"><a href="Distribution.Simple.Build.html#replExe"><span class="hs-identifier hs-type">replExe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-658"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-659"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-660"></span><span id="replExe"><span class="annot"><span class="annottext">replExe :: [String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replExe"><span class="hs-identifier hs-var hs-var">replExe</span></a></span></span><span> </span><span id="local-6989586621679729614"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729614"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729613"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729613"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729612"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729612"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729611"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729611"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729610"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729610"><span class="hs-identifier hs-var">exe</span></a></span></span><span> </span><span id="local-6989586621679729609"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729609"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-661"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729611"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-662"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#replExe"><span class="hs-identifier hs-var">GHC.replExe</span></a></span><span>   </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729614"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729613"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729612"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729611"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729610"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729609"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-663"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; Executable
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHCJS.html#replExe"><span class="hs-identifier hs-var">GHCJS.replExe</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729614"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729613"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729612"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729611"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679729610"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729609"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-664"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729613"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;A REPL is not supported for this compiler.&quot;</span></span><span>
</span><span id="line-665"></span><span>
</span><span id="line-666"></span><span class="annot"><a href="Distribution.Simple.Build.html#replFLib"><span class="hs-identifier hs-type">replFLib</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">]</span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-667"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ForeignLib.html#ForeignLib"><span class="hs-identifier hs-type">ForeignLib</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-668"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-669"></span><span id="replFLib"><span class="annot"><span class="annottext">replFLib :: [String]
-&gt; Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#replFLib"><span class="hs-identifier hs-var hs-var">replFLib</span></a></span></span><span> </span><span id="local-6989586621679729606"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729606"><span class="hs-identifier hs-var">replFlags</span></a></span></span><span> </span><span id="local-6989586621679729605"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729605"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729604"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729604"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729603"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729603"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729602"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729602"><span class="hs-identifier hs-var">exe</span></a></span></span><span> </span><span id="local-6989586621679729601"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729601"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-670"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729603"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-671"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">[String]
-&gt; Verbosity
-&gt; Flag (Maybe Int)
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ForeignLib
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.GHC.html#replFLib"><span class="hs-identifier hs-var">GHC.replFLib</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729606"><span class="hs-identifier hs-var">replFlags</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729605"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Flag (Maybe Int)
forall a. Flag a
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729604"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729603"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729602"><span class="hs-identifier hs-var">exe</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729601"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-672"></span><span>    </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729605"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;A REPL is not supported for this compiler.&quot;</span></span><span>
</span><span id="line-673"></span><span>
</span><span id="line-674"></span><span class="hs-comment">-- | Runs 'componentInitialBuildSteps' on every configured component.</span><span>
</span><span id="line-675"></span><span class="annot"><a href="Distribution.Simple.Build.html#initialBuildSteps"><span class="hs-identifier hs-type">initialBuildSteps</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-comment">-- ^&quot;dist&quot; prefix</span><span>
</span><span id="line-676"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>  </span><span class="hs-comment">-- ^mostly information from the .cabal file</span><span>
</span><span id="line-677"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-comment">-- ^Configuration information</span><span>
</span><span id="line-678"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-comment">-- ^The verbosity to use</span><span>
</span><span id="line-679"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-680"></span><span id="initialBuildSteps"><span class="annot"><span class="annottext">initialBuildSteps :: String
-&gt; PackageDescription -&gt; LocalBuildInfo -&gt; Verbosity -&gt; IO ()
</span><a href="Distribution.Simple.Build.html#initialBuildSteps"><span class="hs-identifier hs-var hs-var">initialBuildSteps</span></a></span></span><span> </span><span id="local-6989586621679729599"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729599"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span id="local-6989586621679729598"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729598"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729597"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729597"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729596"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729596"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-681"></span><span>    </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo
-&gt; (Component -&gt; ComponentLocalBuildInfo -&gt; IO ())
-&gt; IO ()
</span><a href="Distribution.Simple.LocalBuildInfo.html#withAllComponentsInBuildOrder"><span class="hs-identifier hs-var">withAllComponentsInBuildOrder</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729598"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729597"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">((Component -&gt; ComponentLocalBuildInfo -&gt; IO ()) -&gt; IO ())
-&gt; (Component -&gt; ComponentLocalBuildInfo -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729594"><span class="annot"><span class="annottext">Component
</span><a href="#local-6989586621679729594"><span class="hs-identifier hs-var">_comp</span></a></span></span><span> </span><span id="local-6989586621679729593"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729593"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-682"></span><span>        </span><span class="annot"><span class="annottext">String
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Verbosity
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-var">componentInitialBuildSteps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729599"><span class="hs-identifier hs-var">distPref</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729598"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729597"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729593"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729596"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-683"></span><span>
</span><span id="line-684"></span><span class="hs-comment">-- | Creates the autogenerated files for a particular configured component.</span><span>
</span><span id="line-685"></span><span class="annot"><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-type">componentInitialBuildSteps</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-comment">-- ^&quot;dist&quot; prefix</span><span>
</span><span id="line-686"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>  </span><span class="hs-comment">-- ^mostly information from the .cabal file</span><span>
</span><span id="line-687"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-comment">-- ^Configuration information</span><span>
</span><span id="line-688"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-689"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-comment">-- ^The verbosity to use</span><span>
</span><span id="line-690"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-691"></span><span id="componentInitialBuildSteps"><span class="annot"><span class="annottext">componentInitialBuildSteps :: String
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; Verbosity
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#componentInitialBuildSteps"><span class="hs-identifier hs-var hs-var">componentInitialBuildSteps</span></a></span></span><span> </span><span id="local-6989586621679729592"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729592"><span class="hs-identifier hs-var">_distPref</span></a></span></span><span> </span><span id="local-6989586621679729591"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729591"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729590"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729590"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729589"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729589"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span id="local-6989586621679729588"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729588"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-692"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729588"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.LocalBuildInfo.html#componentBuildDir"><span class="hs-identifier hs-var">componentBuildDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729590"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729589"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-693"></span><span>
</span><span id="line-694"></span><span>  </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#writeAutogenFiles"><span class="hs-identifier hs-var">writeAutogenFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729588"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729591"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729590"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729589"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-695"></span><span>
</span><span id="line-696"></span><span class="hs-comment">-- | Generate and write out the Paths_&lt;pkg&gt;.hs and cabal_macros.h files</span><span>
</span><span id="line-697"></span><span class="hs-comment">--</span><span>
</span><span id="line-698"></span><span class="annot"><a href="Distribution.Simple.Build.html#writeAutogenFiles"><span class="hs-identifier hs-type">writeAutogenFiles</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-699"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-700"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span>
</span><span id="line-701"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span>
</span><span id="line-702"></span><span>                  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-703"></span><span id="writeAutogenFiles"><span class="annot"><span class="annottext">writeAutogenFiles :: Verbosity
-&gt; PackageDescription
-&gt; LocalBuildInfo
-&gt; ComponentLocalBuildInfo
-&gt; IO ()
</span><a href="Distribution.Simple.Build.html#writeAutogenFiles"><span class="hs-identifier hs-var hs-var">writeAutogenFiles</span></a></span></span><span> </span><span id="local-6989586621679729585"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729584"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729584"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621679729583"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679729582"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-704"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#autogenComponentModulesDir"><span class="hs-identifier hs-var">autogenComponentModulesDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-705"></span><span>
</span><span id="line-706"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729580"><span class="annot"><span class="annottext">pathsModulePath :: String
</span><a href="#local-6989586621679729580"><span class="hs-identifier hs-var hs-var">pathsModulePath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#autogenComponentModulesDir"><span class="hs-identifier hs-var">autogenComponentModulesDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-707"></span><span>                 </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
</span><a href="Distribution.ModuleName.html#toFilePath"><span class="hs-identifier hs-var">ModuleName.toFilePath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; ModuleName
</span><a href="Distribution.Simple.BuildPaths.html#autogenPathsModuleName"><span class="hs-identifier hs-var">autogenPathsModuleName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729584"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator hs-var">&lt;.&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hs&quot;</span></span><span>
</span><span id="line-708"></span><span>      </span><span id="local-6989586621679729577"><span class="annot"><span class="annottext">pathsModuleDir :: String
</span><a href="#local-6989586621679729577"><span class="hs-identifier hs-var hs-var">pathsModuleDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier hs-var">takeDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729580"><span class="hs-identifier hs-var">pathsModulePath</span></a></span><span>
</span><span id="line-709"></span><span>  </span><span class="hs-comment">-- Ensure that the directory exists!</span><span>
</span><span id="line-710"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729577"><span class="hs-identifier hs-var">pathsModuleDir</span></a></span><span>
</span><span id="line-711"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#rewriteFileEx"><span class="hs-identifier hs-var">rewriteFileEx</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729580"><span class="hs-identifier hs-var">pathsModulePath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#generatePathsModule"><span class="hs-identifier hs-var">generatePathsModule</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729584"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-712"></span><span>
</span><span id="line-713"></span><span>  </span><span class="hs-comment">--TODO: document what we're doing here, and move it to its own function</span><span>
</span><span id="line-714"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-715"></span><span>    </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#LibComponentLocalBuildInfo"><span class="hs-identifier hs-type">LibComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">componentInstantiatedWith :: ComponentLocalBuildInfo -&gt; [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentInstantiatedWith"><span class="hs-identifier hs-var">componentInstantiatedWith</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729575"><span class="annot"><span class="annottext">[(ModuleName, OpenModule)]
</span><a href="#local-6989586621679729575"><span class="hs-identifier hs-var">insts</span></a></span></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-716"></span><span>        </span><span class="hs-comment">-- Write out empty hsig files for all requirements, so that GHC</span><span>
</span><span id="line-717"></span><span>        </span><span class="hs-comment">-- has a source file to look at it when it needs to typecheck</span><span>
</span><span id="line-718"></span><span>        </span><span class="hs-comment">-- a signature.  It's harmless to write these out even when</span><span>
</span><span id="line-719"></span><span>        </span><span class="hs-comment">-- there is a real hsig file written by the user, since</span><span>
</span><span id="line-720"></span><span>        </span><span class="hs-comment">-- include path ordering ensures that the real hsig file</span><span>
</span><span id="line-721"></span><span>        </span><span class="hs-comment">-- will always be picked up before the autogenerated one.</span><span>
</span><span id="line-722"></span><span>        </span><span class="annot"><span class="annottext">[ModuleName] -&gt; (ModuleName -&gt; IO ()) -&gt; IO ()
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Foldable t, Applicative f) =&gt;
t a -&gt; (a -&gt; f b) -&gt; f ()
</span><a href="../../base/src/Data.Foldable.html#for_"><span class="hs-identifier hs-var">for_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((ModuleName, OpenModule) -&gt; ModuleName)
-&gt; [(ModuleName, OpenModule)] -&gt; [ModuleName]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">(ModuleName, OpenModule) -&gt; ModuleName
forall a b. (a, b) -&gt; a
</span><a href="../../base/src/Data.Tuple.html#fst"><span class="hs-identifier hs-var">fst</span></a></span><span> </span><span class="annot"><span class="annottext">[(ModuleName, OpenModule)]
</span><a href="#local-6989586621679729575"><span class="hs-identifier hs-var">insts</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((ModuleName -&gt; IO ()) -&gt; IO ()) -&gt; (ModuleName -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729573"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729573"><span class="hs-identifier hs-var">mod_name</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-723"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729572"><span class="annot"><span class="annottext">sigPath :: String
</span><a href="#local-6989586621679729572"><span class="hs-identifier hs-var hs-var">sigPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#autogenComponentModulesDir"><span class="hs-identifier hs-var">autogenComponentModulesDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-724"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
</span><a href="Distribution.ModuleName.html#toFilePath"><span class="hs-identifier hs-var">ModuleName.toFilePath</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729573"><span class="hs-identifier hs-var">mod_name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator hs-var">&lt;.&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hsig&quot;</span></span><span>
</span><span id="line-725"></span><span>            </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#takeDirectory"><span class="hs-identifier hs-var">takeDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729572"><span class="hs-identifier hs-var">sigPath</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-726"></span><span>            </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#rewriteFileEx"><span class="hs-identifier hs-var">rewriteFileEx</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729572"><span class="hs-identifier hs-var">sigPath</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-727"></span><span>                </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# OPTIONS_GHC -w #-}\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-728"></span><span>                </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# LANGUAGE NoImplicitPrelude #-}\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-729"></span><span>                </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;signature &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729573"><span class="hs-identifier hs-var">mod_name</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; where&quot;</span></span><span>
</span><span id="line-730"></span><span>    </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-731"></span><span>
</span><span id="line-732"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729571"><span class="annot"><span class="annottext">cppHeaderPath :: String
</span><a href="#local-6989586621679729571"><span class="hs-identifier hs-var hs-var">cppHeaderPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.BuildPaths.html#autogenComponentModulesDir"><span class="hs-identifier hs-var">autogenComponentModulesDir</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="Distribution.Simple.BuildPaths.html#cppHeaderName"><span class="hs-identifier hs-var">cppHeaderName</span></a></span><span>
</span><span id="line-733"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#rewriteFileEx"><span class="hs-identifier hs-var">rewriteFileEx</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729585"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729571"><span class="hs-identifier hs-var">cppHeaderPath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.Build.Macros.html#generateCabalMacrosHeader"><span class="hs-identifier hs-var">generateCabalMacrosHeader</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729584"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679729583"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679729582"><span class="hs-identifier hs-var">clbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-734"></span></pre></body></html>